git: 0e6b06d5c871 - main - x86: add a comment providing source for numbers in legacy XSAVE area layout
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 14 Dec 2021 17:14:48 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=0e6b06d5c8719597b2ec59e6856b5decbd9e65f6
commit 0e6b06d5c8719597b2ec59e6856b5decbd9e65f6
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-12-13 23:25:36 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-12-14 17:14:40 +0000
x86: add a comment providing source for numbers in legacy XSAVE area layout
Suggested by: Michael Pratt <mpratt@google.com>
Reviewed by: Michael Pratt <mpratt@google.com>, emaste
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D33423
---
sys/amd64/amd64/fpu.c | 3 ++-
sys/i386/i386/npx.c | 5 ++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index daf079b7d2cc..9b23cc5773a3 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -472,7 +472,8 @@ fpuinitstate(void *arg __unused)
/*
* Create a table describing the layout of the CPU Extended
- * Save Area.
+ * Save Area. See Intel SDM rev. 075 Vol. 1 13.4.1 "Legacy
+ * Region of an XSAVE Area" for the source of offsets/sizes.
*/
if (use_xsave) {
xstate_bv = (uint64_t *)((char *)(fpu_initialstate + 1) +
diff --git a/sys/i386/i386/npx.c b/sys/i386/i386/npx.c
index 4767d8896de9..dc04d84b0eb5 100644
--- a/sys/i386/i386/npx.c
+++ b/sys/i386/i386/npx.c
@@ -527,7 +527,10 @@ npxinitstate(void *arg __unused)
/*
* Create a table describing the layout of the CPU Extended
- * Save Area.
+ * Save Area. See Intel SDM rev. 075 Vol. 1 13.4.1 "Legacy
+ * Region of an XSAVE Area" for the source of offsets/sizes.
+ * Note that 32bit XSAVE does not use %xmm8-%xmm15, see
+ * 10.5.1.2 and 13.5.2 "SSE State".
*/
if (use_xsave) {
xstate_bv = (uint64_t *)((char *)(npx_initialstate + 1) +