From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: <x86@kernel.org>, <platform-driver-x86@vger.kernel.org>,
<sean.j.christopherson@intel.com>, <nhorman@redhat.com>,
<npmccallum@redhat.com>, <linux-sgx@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v12 05/13] x86/sgx: architectural structures
Date: Thu, 5 Jul 2018 23:09:12 +0300 [thread overview]
Message-ID: <20180705200912.GA10701@linux.intel.com> (raw)
In-Reply-To: <f9fe78ca-0ff4-814c-3681-a2366be01337@intel.com>
On Thu, Jul 05, 2018 at 08:31:42AM -0700, Dave Hansen wrote:
> On 07/03/2018 11:19 AM, Jarkko Sakkinen wrote:
> > +struct sgx_secs {
> > + uint64_t size;
> > + uint64_t base;
> > + uint32_t ssaframesize;
> > + uint32_t miscselect;
> > + uint8_t reserved1[SGX_SECS_RESERVED1_SIZE];
> > + uint64_t attributes;
> > + uint64_t xfrm;
> > + uint32_t mrenclave[8];
> > + uint8_t reserved2[SGX_SECS_RESERVED2_SIZE];
> > + uint32_t mrsigner[8];
> > + uint8_t reserved3[SGX_SECS_RESERVED3_SIZE];
> > + uint16_t isvvprodid;
> > + uint16_t isvsvn;
> > + uint8_t reserved4[SGX_SECS_RESERVED4_SIZE];
> > +} __packed __aligned(4096);
>
> Why are the uint* versions in use here? Those are for userspace ABI,
> but this is entirely for in-kernel-use, right?
>
> We've used u8/16/32/64 in arch code in a bunch of places. They're at
> least a bit more compact and easier to read. It's this:
>
> u8 foo;
> u64 bar;
>
> vs. this:
>
> uint8_t foo;
> uint64_t bar;
The reason was that with in-kernel LE these were in fact used by
user space code. Now they can be changed to those that you
suggested.
/Jarkko
WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: x86@kernel.org, platform-driver-x86@vger.kernel.org,
sean.j.christopherson@intel.com, nhorman@redhat.com,
npmccallum@redhat.com, linux-sgx@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v12 05/13] x86/sgx: architectural structures
Date: Thu, 5 Jul 2018 23:09:12 +0300 [thread overview]
Message-ID: <20180705200912.GA10701@linux.intel.com> (raw)
In-Reply-To: <f9fe78ca-0ff4-814c-3681-a2366be01337@intel.com>
On Thu, Jul 05, 2018 at 08:31:42AM -0700, Dave Hansen wrote:
> On 07/03/2018 11:19 AM, Jarkko Sakkinen wrote:
> > +struct sgx_secs {
> > + uint64_t size;
> > + uint64_t base;
> > + uint32_t ssaframesize;
> > + uint32_t miscselect;
> > + uint8_t reserved1[SGX_SECS_RESERVED1_SIZE];
> > + uint64_t attributes;
> > + uint64_t xfrm;
> > + uint32_t mrenclave[8];
> > + uint8_t reserved2[SGX_SECS_RESERVED2_SIZE];
> > + uint32_t mrsigner[8];
> > + uint8_t reserved3[SGX_SECS_RESERVED3_SIZE];
> > + uint16_t isvvprodid;
> > + uint16_t isvsvn;
> > + uint8_t reserved4[SGX_SECS_RESERVED4_SIZE];
> > +} __packed __aligned(4096);
>
> Why are the uint* versions in use here? Those are for userspace ABI,
> but this is entirely for in-kernel-use, right?
>
> We've used u8/16/32/64 in arch code in a bunch of places. They're at
> least a bit more compact and easier to read. It's this:
>
> u8 foo;
> u64 bar;
>
> vs. this:
>
> uint8_t foo;
> uint64_t bar;
The reason was that with in-kernel LE these were in fact used by
user space code. Now they can be changed to those that you
suggested.
/Jarkko
next prev parent reply other threads:[~2018-07-05 20:09 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-03 18:19 [PATCH v12 00/13] Intel SGX1 support Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 01/13] x86/sgx: updated MAINTAINERS Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:41 ` Thomas Gleixner
2018-07-03 18:41 ` Thomas Gleixner
2018-07-04 17:23 ` Jarkko Sakkinen
2018-07-04 17:23 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 02/13] x86/sgx: add SGX definitions to cpufeature Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:48 ` Thomas Gleixner
2018-07-03 18:48 ` Thomas Gleixner
2018-07-04 17:24 ` Jarkko Sakkinen
2018-07-04 17:24 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 03/13] x86/sgx: add SGX definitions to msr-index.h Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:31 ` Dave Hansen
2018-07-03 18:31 ` Dave Hansen
2018-07-04 17:25 ` Jarkko Sakkinen
2018-07-04 17:25 ` Jarkko Sakkinen
2018-07-05 16:05 ` Jarkko Sakkinen
2018-07-05 16:05 ` Jarkko Sakkinen
2018-07-05 16:08 ` Jarkko Sakkinen
2018-07-05 16:08 ` Jarkko Sakkinen
2018-07-05 16:09 ` Dave Hansen
2018-07-05 16:09 ` Dave Hansen
2018-07-03 18:51 ` Thomas Gleixner
2018-07-03 18:51 ` Thomas Gleixner
2018-07-04 17:26 ` Jarkko Sakkinen
2018-07-04 17:26 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 04/13] x86/cpufeatures: add Intel-defined SGX leaf CPUID_12_EAX Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:54 ` Thomas Gleixner
2018-07-03 18:54 ` Thomas Gleixner
2018-07-03 18:54 ` Thomas Gleixner
2018-07-04 17:27 ` Jarkko Sakkinen
2018-07-04 17:27 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 05/13] x86/sgx: architectural structures Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 19:02 ` Dave Hansen
2018-07-03 19:02 ` Dave Hansen
2018-07-04 18:03 ` Jarkko Sakkinen
2018-07-04 18:03 ` Jarkko Sakkinen
2018-07-03 19:04 ` Thomas Gleixner
2018-07-03 19:04 ` Thomas Gleixner
2018-07-04 18:07 ` Jarkko Sakkinen
2018-07-04 18:07 ` Jarkko Sakkinen
2018-07-03 21:22 ` Dave Hansen
2018-07-03 21:22 ` Dave Hansen
2018-07-04 18:09 ` Jarkko Sakkinen
2018-07-04 18:09 ` Jarkko Sakkinen
2018-07-05 15:31 ` Dave Hansen
2018-07-05 15:31 ` Dave Hansen
2018-07-05 20:09 ` Jarkko Sakkinen [this message]
2018-07-05 20:09 ` Jarkko Sakkinen
2018-07-05 21:50 ` hpa
2018-07-05 21:50 ` hpa
2018-07-10 8:06 ` Andy Shevchenko
2018-07-10 8:06 ` Andy Shevchenko
2018-07-10 11:57 ` Thomas Gleixner
2018-07-10 11:57 ` Thomas Gleixner
2018-07-03 18:19 ` [PATCH v12 06/13] x86/sgx: detect Intel SGX Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 19:09 ` Thomas Gleixner
2018-07-03 19:09 ` Thomas Gleixner
2018-07-04 17:28 ` Jarkko Sakkinen
2018-07-04 17:28 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 07/13] x86/sgx: data structures for tracking available EPC pages Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 19:03 ` Dave Hansen
2018-07-03 19:03 ` Dave Hansen
2018-07-04 17:34 ` Jarkko Sakkinen
2018-07-04 17:34 ` Jarkko Sakkinen
2018-07-03 19:46 ` Thomas Gleixner
2018-07-03 19:46 ` Thomas Gleixner
2018-07-03 20:26 ` Randy Dunlap
2018-07-03 20:26 ` Randy Dunlap
2018-07-03 20:44 ` Thomas Gleixner
2018-07-03 20:44 ` Thomas Gleixner
2018-07-04 17:36 ` Jarkko Sakkinen
2018-07-04 17:36 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 08/13] x86/sgx: wrappers for ENCLS opcode leaf functions Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 20:16 ` Thomas Gleixner
2018-07-03 20:16 ` Thomas Gleixner
2018-07-04 17:33 ` Jarkko Sakkinen
2018-07-04 17:33 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 09/13] x86/sgx: EPC page allocation routines Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 20:41 ` Thomas Gleixner
2018-07-03 20:41 ` Thomas Gleixner
2018-07-04 4:25 ` Borislav Petkov
2018-07-04 4:25 ` Borislav Petkov
2018-07-05 18:21 ` Jarkko Sakkinen
2018-07-05 18:21 ` Jarkko Sakkinen
2018-07-04 18:24 ` Jarkko Sakkinen
2018-07-04 18:24 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 10/13] x86/sgx: sgx_einit() Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 11/13] platform/x86: Intel SGX driver Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-25 15:52 ` Jethro Beekman
2018-07-25 15:52 ` Jethro Beekman
2018-07-28 13:23 ` Jarkko Sakkinen
2018-07-28 13:23 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 12/13] platform/x86: ptrace() support for the " Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` [PATCH v12 13/13] x86/sgx: driver documentation Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` Jarkko Sakkinen
2018-07-03 18:19 ` 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=20180705200912.GA10701@linux.intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=dave.hansen@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@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=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.