[05/19] <sys/platform/x86.h>: Add SGX-KEYS support

Message ID 20230405162144.984598-6-hjl.tools@gmail.com
State Committed
Commit f6790a489dda2118729cc2917cc9a9c942e7d2cb
Headers
Series <sys/platform/x86.h>: Update CPUID features |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

H.J. Lu April 5, 2023, 4:21 p.m. UTC
  Add SGX-KEYS support to <sys/platform/x86.h>.
---
 manual/platform.texi               | 3 +++
 sysdeps/x86/bits/platform/x86.h    | 2 +-
 sysdeps/x86/tst-get-cpu-features.c | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)
  

Comments

Noah Goldstein April 5, 2023, 6:21 p.m. UTC | #1
On Wed, Apr 5, 2023 at 11:25 AM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> Add SGX-KEYS support to <sys/platform/x86.h>.
> ---
>  manual/platform.texi               | 3 +++
>  sysdeps/x86/bits/platform/x86.h    | 2 +-
>  sysdeps/x86/tst-get-cpu-features.c | 1 +
>  3 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/manual/platform.texi b/manual/platform.texi
> index 78ee39f650..4453f6e1f4 100644
> --- a/manual/platform.texi
> +++ b/manual/platform.texi
> @@ -551,6 +551,9 @@ capability.
>  @item
>  @code{SGX} -- Intel Software Guard Extensions.
>
> +@item
> +@code{SGX_KEYS} -- Attestation Services for SGX.
> +
>  @item
>  @code{SGX_LC} -- SGX Launch Configuration.
>
> diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h
> index e25f1ac53c..ee5be8190f 100644
> --- a/sysdeps/x86/bits/platform/x86.h
> +++ b/sysdeps/x86/bits/platform/x86.h
> @@ -201,7 +201,7 @@ enum
>         + cpuid_register_index_edx * 8 * sizeof (unsigned int)),
>
>    x86_cpu_INDEX_7_EDX_0                = x86_cpu_index_7_edx,
> -  x86_cpu_INDEX_7_EDX_1                = x86_cpu_index_7_edx + 1,
> +  x86_cpu_SGX_KEYS             = x86_cpu_index_7_edx + 1,
>    x86_cpu_AVX512_4VNNIW                = x86_cpu_index_7_edx + 2,
>    x86_cpu_AVX512_4FMAPS                = x86_cpu_index_7_edx + 3,
>    x86_cpu_FSRM                 = x86_cpu_index_7_edx + 4,
> diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c
> index dcb735ddd6..1979da2174 100644
> --- a/sysdeps/x86/tst-get-cpu-features.c
> +++ b/sysdeps/x86/tst-get-cpu-features.c
> @@ -154,6 +154,7 @@ do_test (void)
>    CHECK_CPU_FEATURE_PRESENT (ENQCMD);
>    CHECK_CPU_FEATURE_PRESENT (SGX_LC);
>    CHECK_CPU_FEATURE_PRESENT (PKS);
> +  CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
>    CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
>    CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
>    CHECK_CPU_FEATURE_PRESENT (FSRM);
> --
> 2.39.2
>

Rename 'bit_cpu_INDEX_7_EDX_1' in cpu-features.h?
Likewise for all other patches that don't rename the new index.
  
H.J. Lu April 5, 2023, 6:39 p.m. UTC | #2
On Wed, Apr 5, 2023 at 11:21 AM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Wed, Apr 5, 2023 at 11:25 AM H.J. Lu via Libc-alpha
> <libc-alpha@sourceware.org> wrote:
> >
> > Add SGX-KEYS support to <sys/platform/x86.h>.
> > ---
> >  manual/platform.texi               | 3 +++
> >  sysdeps/x86/bits/platform/x86.h    | 2 +-
> >  sysdeps/x86/tst-get-cpu-features.c | 1 +
> >  3 files changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/manual/platform.texi b/manual/platform.texi
> > index 78ee39f650..4453f6e1f4 100644
> > --- a/manual/platform.texi
> > +++ b/manual/platform.texi
> > @@ -551,6 +551,9 @@ capability.
> >  @item
> >  @code{SGX} -- Intel Software Guard Extensions.
> >
> > +@item
> > +@code{SGX_KEYS} -- Attestation Services for SGX.
> > +
> >  @item
> >  @code{SGX_LC} -- SGX Launch Configuration.
> >
> > diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h
> > index e25f1ac53c..ee5be8190f 100644
> > --- a/sysdeps/x86/bits/platform/x86.h
> > +++ b/sysdeps/x86/bits/platform/x86.h
> > @@ -201,7 +201,7 @@ enum
> >         + cpuid_register_index_edx * 8 * sizeof (unsigned int)),
> >
> >    x86_cpu_INDEX_7_EDX_0                = x86_cpu_index_7_edx,
> > -  x86_cpu_INDEX_7_EDX_1                = x86_cpu_index_7_edx + 1,
> > +  x86_cpu_SGX_KEYS             = x86_cpu_index_7_edx + 1,
> >    x86_cpu_AVX512_4VNNIW                = x86_cpu_index_7_edx + 2,
> >    x86_cpu_AVX512_4FMAPS                = x86_cpu_index_7_edx + 3,
> >    x86_cpu_FSRM                 = x86_cpu_index_7_edx + 4,
> > diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c
> > index dcb735ddd6..1979da2174 100644
> > --- a/sysdeps/x86/tst-get-cpu-features.c
> > +++ b/sysdeps/x86/tst-get-cpu-features.c
> > @@ -154,6 +154,7 @@ do_test (void)
> >    CHECK_CPU_FEATURE_PRESENT (ENQCMD);
> >    CHECK_CPU_FEATURE_PRESENT (SGX_LC);
> >    CHECK_CPU_FEATURE_PRESENT (PKS);
> > +  CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
> >    CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
> >    CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
> >    CHECK_CPU_FEATURE_PRESENT (FSRM);
> > --
> > 2.39.2
> >
>
> Rename 'bit_cpu_INDEX_7_EDX_1' in cpu-features.h?
> Likewise for all other patches that don't rename the new index.

They can't be removed since they aren't used by
CPU_FEATURE_SET_ACTIVE.
  
Noah Goldstein April 5, 2023, 9:03 p.m. UTC | #3
On Wed, Apr 5, 2023 at 1:40 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Wed, Apr 5, 2023 at 11:21 AM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > On Wed, Apr 5, 2023 at 11:25 AM H.J. Lu via Libc-alpha
> > <libc-alpha@sourceware.org> wrote:
> > >
> > > Add SGX-KEYS support to <sys/platform/x86.h>.
> > > ---
> > >  manual/platform.texi               | 3 +++
> > >  sysdeps/x86/bits/platform/x86.h    | 2 +-
> > >  sysdeps/x86/tst-get-cpu-features.c | 1 +
> > >  3 files changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/manual/platform.texi b/manual/platform.texi
> > > index 78ee39f650..4453f6e1f4 100644
> > > --- a/manual/platform.texi
> > > +++ b/manual/platform.texi
> > > @@ -551,6 +551,9 @@ capability.
> > >  @item
> > >  @code{SGX} -- Intel Software Guard Extensions.
> > >
> > > +@item
> > > +@code{SGX_KEYS} -- Attestation Services for SGX.
> > > +
> > >  @item
> > >  @code{SGX_LC} -- SGX Launch Configuration.
> > >
> > > diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h
> > > index e25f1ac53c..ee5be8190f 100644
> > > --- a/sysdeps/x86/bits/platform/x86.h
> > > +++ b/sysdeps/x86/bits/platform/x86.h
> > > @@ -201,7 +201,7 @@ enum
> > >         + cpuid_register_index_edx * 8 * sizeof (unsigned int)),
> > >
> > >    x86_cpu_INDEX_7_EDX_0                = x86_cpu_index_7_edx,
> > > -  x86_cpu_INDEX_7_EDX_1                = x86_cpu_index_7_edx + 1,
> > > +  x86_cpu_SGX_KEYS             = x86_cpu_index_7_edx + 1,
> > >    x86_cpu_AVX512_4VNNIW                = x86_cpu_index_7_edx + 2,
> > >    x86_cpu_AVX512_4FMAPS                = x86_cpu_index_7_edx + 3,
> > >    x86_cpu_FSRM                 = x86_cpu_index_7_edx + 4,
> > > diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c
> > > index dcb735ddd6..1979da2174 100644
> > > --- a/sysdeps/x86/tst-get-cpu-features.c
> > > +++ b/sysdeps/x86/tst-get-cpu-features.c
> > > @@ -154,6 +154,7 @@ do_test (void)
> > >    CHECK_CPU_FEATURE_PRESENT (ENQCMD);
> > >    CHECK_CPU_FEATURE_PRESENT (SGX_LC);
> > >    CHECK_CPU_FEATURE_PRESENT (PKS);
> > > +  CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
> > >    CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
> > >    CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
> > >    CHECK_CPU_FEATURE_PRESENT (FSRM);
> > > --
> > > 2.39.2
> > >
> >
> > Rename 'bit_cpu_INDEX_7_EDX_1' in cpu-features.h?
> > Likewise for all other patches that don't rename the new index.
>
> They can't be removed since they aren't used by
> CPU_FEATURE_SET_ACTIVE.
>
>
> --
> H.J.

LGTM
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
  

Patch

diff --git a/manual/platform.texi b/manual/platform.texi
index 78ee39f650..4453f6e1f4 100644
--- a/manual/platform.texi
+++ b/manual/platform.texi
@@ -551,6 +551,9 @@  capability.
 @item
 @code{SGX} -- Intel Software Guard Extensions.
 
+@item
+@code{SGX_KEYS} -- Attestation Services for SGX.
+
 @item
 @code{SGX_LC} -- SGX Launch Configuration.
 
diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h
index e25f1ac53c..ee5be8190f 100644
--- a/sysdeps/x86/bits/platform/x86.h
+++ b/sysdeps/x86/bits/platform/x86.h
@@ -201,7 +201,7 @@  enum
        + cpuid_register_index_edx * 8 * sizeof (unsigned int)),
 
   x86_cpu_INDEX_7_EDX_0		= x86_cpu_index_7_edx,
-  x86_cpu_INDEX_7_EDX_1		= x86_cpu_index_7_edx + 1,
+  x86_cpu_SGX_KEYS		= x86_cpu_index_7_edx + 1,
   x86_cpu_AVX512_4VNNIW		= x86_cpu_index_7_edx + 2,
   x86_cpu_AVX512_4FMAPS		= x86_cpu_index_7_edx + 3,
   x86_cpu_FSRM			= x86_cpu_index_7_edx + 4,
diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c
index dcb735ddd6..1979da2174 100644
--- a/sysdeps/x86/tst-get-cpu-features.c
+++ b/sysdeps/x86/tst-get-cpu-features.c
@@ -154,6 +154,7 @@  do_test (void)
   CHECK_CPU_FEATURE_PRESENT (ENQCMD);
   CHECK_CPU_FEATURE_PRESENT (SGX_LC);
   CHECK_CPU_FEATURE_PRESENT (PKS);
+  CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
   CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
   CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
   CHECK_CPU_FEATURE_PRESENT (FSRM);