On 12/5/23 12:41, Borislav Petkov wrote: > On Tue, Dec 05, 2023 at 08:33:14PM +0000, Huang, Kai wrote: >> Yes I understand what you said. My point is X86_FEATURE_TDX doesn't suit >> because when it is set, the kernel actually hasn't done any enabling work yet >> thus TDX is not available albeit the X86_FEATURE_TDX is set. > You define a X86_FEATURE flag. You set it *when* TDX is available and > enabled. Then you query that flag. This is how synthetic flags work. > > In your patchset, when do you know that TDX is enabled? Point me to the > code place pls. TDX can be "ready" in a couple of different ways: 1. The module is there and running SEAMCALLS (tdx_platform_enabled()) 2. The module is initialized and ready to run guests. This happens after init_tdmrs() and init_tdx_module() return success. #1 is known at boot. #2 doesn't happen until just before KVM runs the first TDX guest. Here's the patch for #2: > https://lore.kernel.org/all/566ff8b05090c935d980d5ace3389d31c7cce7df.1699527082.git.kai.huang@xxxxxxxxx/