public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: H.J. Lu <hjl@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc] x86: Detect Extended Feature Disable (XFD)
Date: Mon,  6 Jul 2020 14:49:24 +0000 (GMT)	[thread overview]
Message-ID: <20200706144924.DFEE93858D35@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=28c13ae5bbc81aa2ae67890ce53e65257d4703a4

commit 28c13ae5bbc81aa2ae67890ce53e65257d4703a4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jul 6 06:57:08 2020 -0700

    x86: Detect Extended Feature Disable (XFD)
    
    An extension called extended feature disable (XFD) is an extension added
    for Intel AMX to the XSAVE feature set that allows an operating system
    to enable a feature while preventing specific user threads from using
    the feature.

Diff:
---
 sysdeps/x86/cpu-features.h         | 3 +++
 sysdeps/x86/tst-get-cpu-features.c | 1 +
 2 files changed, 4 insertions(+)

diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
index f25df778cc..bc425462d6 100644
--- a/sysdeps/x86/cpu-features.h
+++ b/sysdeps/x86/cpu-features.h
@@ -393,6 +393,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 #define bit_cpu_XSAVEC		(1u << 1)
 #define bit_cpu_XGETBV_ECX_1	(1u << 2)
 #define bit_cpu_XSAVES		(1u << 3)
+#define bit_cpu_XFD		(1u << 4)
 
 /* COMMON_CPUID_INDEX_80000007.  */
 
@@ -578,6 +579,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 #define index_cpu_XSAVEC	COMMON_CPUID_INDEX_D_ECX_1
 #define index_cpu_XGETBV_ECX_1	COMMON_CPUID_INDEX_D_ECX_1
 #define index_cpu_XSAVES	COMMON_CPUID_INDEX_D_ECX_1
+#define index_cpu_XFD		COMMON_CPUID_INDEX_D_ECX_1
 
 /* COMMON_CPUID_INDEX_80000007.  */
 
@@ -763,6 +765,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 #define reg_XSAVEC		eax
 #define reg_XGETBV_ECX_1	eax
 #define reg_XSAVES		eax
+#define reg_XFD			eax
 
 /* COMMON_CPUID_INDEX_80000007.  */
 
diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c
index dafd66434c..2cff2e86ba 100644
--- a/sysdeps/x86/tst-get-cpu-features.c
+++ b/sysdeps/x86/tst-get-cpu-features.c
@@ -214,6 +214,7 @@ do_test (void)
   CHECK_CPU_FEATURE (XSAVEC);
   CHECK_CPU_FEATURE (XGETBV_ECX_1);
   CHECK_CPU_FEATURE (XSAVES);
+  CHECK_CPU_FEATURE (XFD);
   CHECK_CPU_FEATURE (INVARIANT_TSC);
   CHECK_CPU_FEATURE (WBNOINVD);
   CHECK_CPU_FEATURE (AVX512_BF16);


                 reply	other threads:[~2020-07-06 14:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20200706144924.DFEE93858D35@sourceware.org \
    --to=hjl@sourceware.org \
    --cc=glibc-cvs@sourceware.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).