diff mbox

[intel-sgx-kernel-dev,v11,04/13] x86, sgx: add SGX definitions to msr-index.h

Message ID 20180608171216.26521-5-jarkko.sakkinen@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jarkko Sakkinen June 8, 2018, 5:09 p.m. UTC
From: Sean Christopherson <sean.j.christopherson@intel.com>

ENCLS and ENCLU are usable if and only if SGX_ENABLE is set and After
SGX is activated the IA32_SGXLEPUBKEYHASHn MSRs are writable if
SGX_LC_WR is set and the feature control is locked.

SGX related bits in IA32_FEATURE_CONTROL cannot be set before SGX is
activated by the pre-boot firmware. SGX activation is triggered by
setting bit 0 in the MSR 0x7a. Until SGX is activated, the LE hash MSRs
are writable to allow pre-boot firmware to lock down the LE root key
with a non-Intel value.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Haim Cohen <haim.cohen@intel.com>
Tested-by: Serge Ayoun <serge.ayoun@intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
---
 arch/x86/include/asm/msr-index.h | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Dave Hansen June 8, 2018, 5:25 p.m. UTC | #1
On 06/08/2018 10:09 AM, Jarkko Sakkinen wrote:
> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
> Signed-off-by: Haim Cohen <haim.cohen@intel.com>
> Tested-by: Serge Ayoun <serge.ayoun@intel.com>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

These are a mess.  If you're signing off on it, a review of some kind is
pretty implied.

Also, how did Sean write this, send it to Haim to sign off on it, and
then send it to you?  That seems unlikely.
Jarkko Sakkinen June 19, 2018, 1:18 p.m. UTC | #2
On Fri, Jun 08, 2018 at 10:25:29AM -0700, Dave Hansen wrote:
> On 06/08/2018 10:09 AM, Jarkko Sakkinen wrote:
> > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
> > Signed-off-by: Haim Cohen <haim.cohen@intel.com>
> > Tested-by: Serge Ayoun <serge.ayoun@intel.com>
> > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> 
> These are a mess.  If you're signing off on it, a review of some kind is
> pretty implied.
> 
> Also, how did Sean write this, send it to Haim to sign off on it, and
> then send it to you?  That seems unlikely.

They've both done something to this. How should I change it then?

/Jarkko
Dave Hansen June 19, 2018, 2:01 p.m. UTC | #3
On 06/19/2018 06:18 AM, Jarkko Sakkinen wrote:
> On Fri, Jun 08, 2018 at 10:25:29AM -0700, Dave Hansen wrote:
>> On 06/08/2018 10:09 AM, Jarkko Sakkinen wrote:
>>> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
>>> Signed-off-by: Haim Cohen <haim.cohen@intel.com>
>>> Tested-by: Serge Ayoun <serge.ayoun@intel.com>
>>> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
>>> Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
>>> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
>>
>> These are a mess.  If you're signing off on it, a review of some kind is
>> pretty implied.
>>
>> Also, how did Sean write this, send it to Haim to sign off on it, and
>> then send it to you?  That seems unlikely.
> 
> They've both done something to this. How should I change it then?

Who added their Signed-off-by?

I would probably add a single "Co-developed-by:" for each of them and a
single Signed-off-by, like commit 12c89130a56ae:

    Co-developed-by: Tony Luck <tony.luck@intel.com>
    Reported-by: Mika Penttilä <mika.penttila@nextfour.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    ...
Jarkko Sakkinen June 21, 2018, 5:22 p.m. UTC | #4
On Tue, Jun 19, 2018 at 07:01:57AM -0700, Dave Hansen wrote:
> On 06/19/2018 06:18 AM, Jarkko Sakkinen wrote:
> > On Fri, Jun 08, 2018 at 10:25:29AM -0700, Dave Hansen wrote:
> >> On 06/08/2018 10:09 AM, Jarkko Sakkinen wrote:
> >>> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
> >>> Signed-off-by: Haim Cohen <haim.cohen@intel.com>
> >>> Tested-by: Serge Ayoun <serge.ayoun@intel.com>
> >>> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> >>> Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> >>> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> >>
> >> These are a mess.  If you're signing off on it, a review of some kind is
> >> pretty implied.
> >>
> >> Also, how did Sean write this, send it to Haim to sign off on it, and
> >> then send it to you?  That seems unlikely.
> > 
> > They've both done something to this. How should I change it then?
> 
> Who added their Signed-off-by?
> 
> I would probably add a single "Co-developed-by:" for each of them and a
> single Signed-off-by, like commit 12c89130a56ae:
> 
>     Co-developed-by: Tony Luck <tony.luck@intel.com>
>     Reported-by: Mika Penttilä <mika.penttila@nextfour.com>
>     Signed-off-by: Dan Williams <dan.j.williams@intel.com>
>     Cc: Al Viro <viro@zeniv.linux.org.uk>
>     Cc: Andrew Morton <akpm@linux-foundation.org>
>     Cc: Andy Lutomirski <luto@amacapital.net>
>     ...

Thanks, I was not aware of that tag.

/Jarkko
diff mbox

Patch

diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index fda2114197b3..a7355fb7344f 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -479,6 +479,8 @@ 
 #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_SGX_LE_WR			(1<<17)
 #define FEATURE_CONTROL_LMCE				(1<<20)
 
 #define MSR_IA32_APICBASE		0x0000001b
@@ -545,6 +547,12 @@ 
 #define PACKAGE_THERM_INT_LOW_ENABLE		(1 << 1)
 #define PACKAGE_THERM_INT_PLN_ENABLE		(1 << 24)
 
+/* Intel SGX MSRs */
+#define MSR_IA32_SGXLEPUBKEYHASH0	0x0000008C
+#define MSR_IA32_SGXLEPUBKEYHASH1	0x0000008D
+#define MSR_IA32_SGXLEPUBKEYHASH2	0x0000008E
+#define MSR_IA32_SGXLEPUBKEYHASH3	0x0000008F
+
 /* Thermal Thresholds Support */
 #define THERM_INT_THRESHOLD0_ENABLE    (1 << 15)
 #define THERM_SHIFT_THRESHOLD0        8