On Sat, 2017-11-25 at 21:29 +0200, Jarkko Sakkinen wrote: > From: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > > When IA32_FEATURE_CONTROL.SGX_ENABLE and IA32_FEATURE_CONTROL.LOCK are > set by the pre-boot firmware, SGX is usable by the OS. This implies that only pre-boot firmware can write feature control, which is not true. What about: SGX instructions (ENCLS and ENCLU) are usable if and only if SGX_ENABLE is set in the IA32_FEATURE_CONTROL MSR and said MSR is locked. > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> > --- > arch/x86/include/asm/msr-index.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr- > index.h > index 17f5c12e1afd..b35cb98b5d60 100644 > --- a/arch/x86/include/asm/msr-index.h > +++ b/arch/x86/include/asm/msr-index.h > @@ -435,6 +435,7 @@ > #define FEATURE_CONTROL_LOCKED (1<<0) > #define FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX (1<<1) > #define FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX (1<<2) > +#define FEATURE_CONTROL_SGX_ENABLE (1<<18) > #define FEATURE_CONTROL_LMCE (1<<20) > > #define MSR_IA32_APICBASE 0x0000001b