> > > NULL, NULL, NULL, NULL, @@ -1552,6 +1552,14 @@ static > > > FeatureDep feature_dependencies[] = { > > > .from = { FEAT_VMX_SECONDARY_CTLS, > VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE }, > > > .to = { FEAT_7_0_ECX, CPUID_7_0_ECX_WAITPKG }, > > > }, > > > + { > > > + .from = { FEAT_7_1_EAX, CPUID_7_1_EAX_LKGS }, > > > + .to = { FEAT_7_1_EAX, CPUID_7_1_EAX_FRED }, > > > + }, > > > + { > > > + .from = { FEAT_7_1_EAX, CPUID_7_1_EAX_WRMSRNS }, > > > + .to = { FEAT_7_1_EAX, CPUID_7_1_EAX_FRED }, > > > + }, > > Oh, sorry, one thing that comes to mind, is this dependency required? > Since the FRED spec (v3.0) is all about WRMSR as the example, without > mentioning WRMSRNS, could there be other implementations that depend on > WRMSR instead of WRMSRNS? This is a community ask from tglx: https://lkml.kernel.org/kvm/87y1h81ht4.ffs@tglx/ Boris had the same question: https://lore.kernel.org/lkml/20231114050201.GAZVL%2FSd%2FyLIdON9la@fat_crate.local/ But it needs to go through a formal approach, which takes time, to reach the FRED public spec. Thanks! Xin