All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: x86@kernel.org, platform-driver-x86@vger.kernel.org
Cc: dave.hansen@intel.com, sean.j.christopherson@intel.com,
	nhorman@redhat.com, npmccallum@redhat.com,
	Haim Cohen <haim.cohen@intel.com>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Borislav Petkov <bp@suse.de>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Janakarajan Natarajan <Janakarajan.Natarajan@amd.com>,
	linux-kernel@vger.kernel.org (open list:X86 ARCHITECTURE (32-BIT
	AND 64-BIT)),
	intel-sgx-kernel-dev@lists.01.org (open list:INTEL SGX)
Subject: [PATCH v11 04/13] x86, sgx: add SGX definitions to msr-index.h
Date: Fri,  8 Jun 2018 19:09:39 +0200	[thread overview]
Message-ID: <20180608171216.26521-5-jarkko.sakkinen@linux.intel.com> (raw)
In-Reply-To: <20180608171216.26521-1-jarkko.sakkinen@linux.intel.com>

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(+)

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
-- 
2.17.0

WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: x86@kernel.org, platform-driver-x86@vger.kernel.org
Cc: dave.hansen@intel.com, sean.j.christopherson@intel.com,
	nhorman@redhat.com, npmccallum@redhat.com,
	Haim Cohen <haim.cohen@intel.com>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Borislav Petkov <bp@suse.de>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Janakarajan Natarajan <Janakarajan.Natarajan@amd.com>,
	"open list:X86 ARCHITECTURE 32-BIT AND 64-BIT"
	<linux-kernel@vger.kernel.org>,
	"open list:INTEL SGX" <intel-sgx-kernel-dev@lists.01.org>
Subject: [PATCH v11 04/13] x86, sgx: add SGX definitions to msr-index.h
Date: Fri,  8 Jun 2018 19:09:39 +0200	[thread overview]
Message-ID: <20180608171216.26521-5-jarkko.sakkinen@linux.intel.com> (raw)
In-Reply-To: <20180608171216.26521-1-jarkko.sakkinen@linux.intel.com>

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(+)

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
-- 
2.17.0

  parent reply	other threads:[~2018-06-08 17:20 UTC|newest]

Thread overview: 181+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-08 17:09 [PATCH v11 00/13] Intel SGX1 support Jarkko Sakkinen
2018-06-08 17:09 ` Jarkko Sakkinen
2018-06-08 17:09 ` Jarkko Sakkinen
2018-06-08 17:09 ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 01/13] compiler.h, kasan: add __SANITIZE_ADDRESS__ check for __no_kasan_or_inline Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 02/13] x86, sgx: updated MAINTAINERS Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 03/13] x86, sgx: add SGX definitions to cpufeature Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:09 ` Jarkko Sakkinen [this message]
2018-06-08 17:09   ` [PATCH v11 04/13] x86, sgx: add SGX definitions to msr-index.h Jarkko Sakkinen
2018-06-08 17:25   ` Dave Hansen
2018-06-19 13:18     ` Jarkko Sakkinen
2018-06-19 13:18       ` Jarkko Sakkinen
2018-06-19 14:01       ` Dave Hansen
2018-06-19 14:01         ` Dave Hansen
2018-06-21 17:22         ` Jarkko Sakkinen
2018-06-21 17:22           ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 05/13] x86, cpufeatures: add Intel-defined SGX leaf CPUID_12_EAX Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 06/13] crypto: aesni: add minimal build option for SGX LE Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:27   ` Dave Hansen
2018-06-11 15:24     ` Sean Christopherson
2018-06-08 17:09 ` [PATCH v11 07/13] x86, sgx: detect Intel SGX Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:36   ` Dave Hansen
2018-06-18 21:36     ` [intel-sgx-kernel-dev] " Andy Lutomirski
2018-06-25  7:39       ` Jarkko Sakkinen
2018-06-19 13:33     ` Jarkko Sakkinen
2018-06-19 13:33       ` Jarkko Sakkinen
2018-06-11 11:35   ` Neil Horman
2018-06-19 13:34     ` Jarkko Sakkinen
2018-06-19 13:34       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 08/13] x86, sgx: added ENCLS wrappers Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:43   ` Dave Hansen
2018-06-19 13:25     ` Jarkko Sakkinen
2018-06-19 13:25       ` Jarkko Sakkinen
2018-06-20 13:12   ` Sean Christopherson
2018-06-20 13:12     ` Sean Christopherson
2018-06-25  9:16     ` Jarkko Sakkinen
2018-06-25  9:16       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 09/13] x86, sgx: basic routines for enclave page cache Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 18:21   ` Jethro Beekman
2018-06-18 21:33     ` [intel-sgx-kernel-dev] " Andy Lutomirski
2018-06-25  7:36       ` Jarkko Sakkinen
2018-06-19 14:08     ` Jarkko Sakkinen
2018-06-19 14:08       ` Jarkko Sakkinen
2018-06-19 15:44       ` Jethro Beekman
2018-06-19 15:44         ` Jethro Beekman
2018-06-08 18:24   ` Dave Hansen
2018-06-19 14:57     ` Jarkko Sakkinen
2018-06-19 14:57       ` Jarkko Sakkinen
2018-06-19 15:19       ` Neil Horman
2018-06-19 15:19         ` Neil Horman
2018-06-19 15:32       ` Dave Hansen
2018-06-19 15:32         ` Dave Hansen
2018-06-25  9:01         ` Jarkko Sakkinen
2018-06-25  9:01           ` Jarkko Sakkinen
2018-06-19 15:59       ` Sean Christopherson
2018-06-19 15:59         ` Sean Christopherson
2018-06-25  9:14         ` Jarkko Sakkinen
2018-06-25  9:14           ` Jarkko Sakkinen
2018-06-10  5:32   ` [intel-sgx-kernel-dev] " Andy Lutomirski
2018-06-11 15:12     ` Sean Christopherson
2018-06-20 13:21   ` Sean Christopherson
2018-06-20 13:21     ` Sean Christopherson
2018-06-25  9:21     ` Jarkko Sakkinen
2018-06-25  9:21       ` Jarkko Sakkinen
2018-06-25 16:14       ` Neil Horman
2018-06-25 16:14         ` Neil Horman
2018-06-20 15:26   ` Sean Christopherson
2018-06-20 15:26     ` Sean Christopherson
2018-06-25  9:21     ` Jarkko Sakkinen
2018-06-25  9:21       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 10/13] intel_sgx: driver for Intel Software Guard Extensions Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 19:35   ` Dave Hansen
2018-06-19 13:29     ` Jarkko Sakkinen
2018-06-19 13:29       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 11/13] intel_sgx: ptrace() support Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 18:34   ` Dave Hansen
2018-06-11 15:02     ` Sean Christopherson
2018-06-19 13:38       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 12/13] intel_sgx: driver documentation Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 18:32   ` Jethro Beekman
2018-06-19 13:30     ` Jarkko Sakkinen
2018-06-19 13:30       ` Jarkko Sakkinen
2018-06-08 21:41   ` Randy Dunlap
2018-06-08 21:41     ` Randy Dunlap
2018-06-19 13:31     ` Jarkko Sakkinen
2018-06-19 13:31       ` Jarkko Sakkinen
2018-06-08 17:09 ` [PATCH v11 13/13] intel_sgx: in-kernel launch enclave Jarkko Sakkinen
2018-06-08 17:09   ` Jarkko Sakkinen
2018-06-08 18:50   ` [intel-sgx-kernel-dev] " Andy Lutomirski
2018-06-19 15:05     ` Jarkko Sakkinen
2018-06-10  5:39   ` Andy Lutomirski
2018-06-11  5:17     ` Andy Lutomirski
2018-06-11 11:52       ` Neil Horman
2018-06-12  4:55         ` Andy Lutomirski
2018-06-12 17:45           ` Neil Horman
2018-06-18 21:58             ` Andy Lutomirski
2018-06-19 13:17               ` Neil Horman
2018-06-20 16:28               ` Nathaniel McCallum
2018-06-20 18:16                 ` Jethro Beekman
2018-06-20 18:39                   ` Jethro Beekman
2018-06-20 21:01                     ` Sean Christopherson
2018-06-21 12:32                       ` Nathaniel McCallum
2018-06-21 15:29                         ` Neil Horman
2018-06-21 19:11                           ` Nathaniel McCallum
2018-06-21 21:20                             ` Sean Christopherson
2018-06-25 21:00                               ` Nathaniel McCallum
2018-06-25 22:35                                 ` Sean Christopherson
2018-06-21 22:48                             ` Andy Lutomirski
2018-06-25 21:06                               ` Nathaniel McCallum
2018-06-25 23:40                                 ` Andy Lutomirski
2018-06-25  9:41                         ` Jarkko Sakkinen
2018-06-25 15:45                           ` Andy Lutomirski
2018-06-25 21:28                             ` Nathaniel McCallum
2018-06-26  8:43                             ` Jarkko Sakkinen
2018-06-26 15:01                               ` Nathaniel McCallum
2018-06-27 15:31                                 ` Jarkko Sakkinen
2018-06-21 12:12                   ` Nathaniel McCallum
2018-06-25  9:27                 ` Jarkko Sakkinen
2018-06-25 21:26                   ` Nathaniel McCallum
2018-06-20  7:23       ` Jarkko Sakkinen
2018-06-12 10:50 ` [PATCH v11 00/13] Intel SGX1 support Pavel Machek
2018-06-12 10:50   ` Pavel Machek
2018-06-19 14:59   ` Jarkko Sakkinen
2018-06-19 14:59     ` Jarkko Sakkinen
2018-06-19 14:59     ` Jarkko Sakkinen
2018-06-19 20:04     ` Pavel Machek
2018-06-19 20:04       ` Pavel Machek
2018-06-19 20:23       ` Peter Zijlstra
2018-06-19 20:23         ` Peter Zijlstra
2018-06-19 20:23         ` Peter Zijlstra
2018-06-19 20:23         ` Peter Zijlstra
2018-06-19 21:48       ` Josh Triplett
2018-06-19 21:48         ` Josh Triplett
2018-06-19 21:48         ` Josh Triplett
2018-06-19 21:48         ` Josh Triplett
2018-12-09 20:06         ` Pavel Machek
2018-12-09 20:06           ` Pavel Machek
2018-12-09 20:06           ` Pavel Machek
2018-12-09 20:06           ` Pavel Machek
2018-12-10  7:47           ` Josh Triplett
2018-12-10  7:47             ` Josh Triplett
2018-12-10  7:47             ` Josh Triplett
2018-12-10  7:47             ` Josh Triplett
2018-12-10  8:27             ` Pavel Machek
2018-12-10  8:27               ` Pavel Machek
2018-12-10  8:27               ` Pavel Machek
2018-12-10  8:27               ` Pavel Machek
2018-12-10 23:12               ` Josh Triplett
2018-12-10 23:12                 ` Josh Triplett
2018-12-10 23:12                 ` Josh Triplett
2018-12-10 23:12                 ` Josh Triplett
2018-12-11 18:10                 ` Dave Hansen
2018-12-11 18:10                   ` Dave Hansen
2018-12-11 18:10                   ` Dave Hansen
2018-12-11 18:10                   ` Dave Hansen
2018-12-11 18:31                   ` Sean Christopherson
2018-12-11 18:31                     ` Sean Christopherson
2018-12-11 18:31                     ` Sean Christopherson
2018-12-11 18:31                     ` Sean Christopherson
2018-06-19 20:36     ` Peter Zijlstra
2018-06-19 20:36       ` Peter Zijlstra
2018-06-19 20:36       ` Peter Zijlstra
2018-06-19 20:36       ` Peter Zijlstra
2018-06-21 12:55 ` Ingo Molnar
2018-06-21 12:55   ` Ingo Molnar
2018-06-21 12:55   ` Ingo Molnar
2018-06-25  9:44   ` Jarkko Sakkinen
2018-06-25  9:44     ` Jarkko Sakkinen
2018-06-25  9:44     ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180608171216.26521-5-jarkko.sakkinen@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=Janakarajan.Natarajan@amd.com \
    --cc=bp@suse.de \
    --cc=dave.hansen@intel.com \
    --cc=dwmw@amazon.co.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=haim.cohen@intel.com \
    --cc=hpa@zytor.com \
    --cc=intel-sgx-kernel-dev@lists.01.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nhorman@redhat.com \
    --cc=npmccallum@redhat.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=sean.j.christopherson@intel.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.