git: 5c32146723ef - main - amd64: Eliminate write only cpu_fxsr.

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
Date: Wed, 01 Feb 2023 15:17:22 UTC
The branch main has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c32146723ef88b07506c081653898cd2f293a52

commit 5c32146723ef88b07506c081653898cd2f293a52
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2023-02-01 15:17:06 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2023-02-01 15:17:06 +0000

    amd64: Eliminate write only cpu_fxsr.
    
    Reviewed by:            kib
    Differential Revision:  https://reviews.freebsd.org/D38289
    MFC after:              1 week
---
 sys/amd64/amd64/initcpu.c | 2 +-
 sys/i386/i386/npx.c       | 1 +
 sys/i386/include/md_var.h | 1 +
 sys/x86/include/x86_var.h | 1 -
 sys/x86/x86/identcpu.c    | 1 -
 5 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/amd64/amd64/initcpu.c b/sys/amd64/amd64/initcpu.c
index cddf8502437e..16780a9e069b 100644
--- a/sys/amd64/amd64/initcpu.c
+++ b/sys/amd64/amd64/initcpu.c
@@ -279,7 +279,7 @@ initializecpu(void)
 	cr4 = rcr4();
 	if ((cpu_feature & CPUID_XMM) && (cpu_feature & CPUID_FXSR)) {
 		cr4 |= CR4_FXSR | CR4_XMM;
-		cpu_fxsr = hw_instruction_sse = 1;
+		hw_instruction_sse = 1;
 	}
 	if (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE)
 		cr4 |= CR4_FSGSBASE;
diff --git a/sys/i386/i386/npx.c b/sys/i386/i386/npx.c
index 2e3c21583d88..3d4f2f2a60c8 100644
--- a/sys/i386/i386/npx.c
+++ b/sys/i386/i386/npx.c
@@ -175,6 +175,7 @@ SYSCTL_INT(_hw, OID_AUTO, lazy_fpu_switch, CTLFLAG_RWTUN | CTLFLAG_NOFETCH,
     &lazy_fpu_switch, 0,
     "Lazily load FPU context after context switch");
 
+u_int cpu_fxsr;		/* SSE enabled */
 int use_xsave;
 uint64_t xsave_mask;
 static	uma_zone_t fpu_save_area_zone;
diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h
index 88b036a9cc24..d4fa7668b5f3 100644
--- a/sys/i386/include/md_var.h
+++ b/sys/i386/include/md_var.h
@@ -36,6 +36,7 @@
 
 #include <x86/x86_var.h>
 
+extern	u_int	cpu_fxsr;
 extern	u_int	cyrix_did;
 #if defined(I586_CPU) && !defined(NO_F00F_HACK)
 extern	int	has_f00f_bug;
diff --git a/sys/x86/include/x86_var.h b/sys/x86/include/x86_var.h
index 38a332e36078..343fa02a1cf5 100644
--- a/sys/x86/include/x86_var.h
+++ b/sys/x86/include/x86_var.h
@@ -53,7 +53,6 @@ extern	u_int	cpu_stdext_feature;
 extern	u_int	cpu_stdext_feature2;
 extern	u_int	cpu_stdext_feature3;
 extern	uint64_t cpu_ia32_arch_caps;
-extern	u_int	cpu_fxsr;
 extern	u_int	cpu_high;
 extern	u_int	cpu_id;
 extern	u_int	cpu_max_ext_state_size;
diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c
index 7b2d32d9c7a3..70bca3559555 100644
--- a/sys/x86/x86/identcpu.c
+++ b/sys/x86/x86/identcpu.c
@@ -106,7 +106,6 @@ u_int	cpu_procinfo;		/* HyperThreading Info / Brand Index / CLFUSH */
 u_int	cpu_procinfo2;		/* Multicore info */
 char	cpu_vendor[20];		/* CPU Origin code */
 u_int	cpu_vendor_id;		/* CPU vendor ID */
-u_int	cpu_fxsr;		/* SSE enabled */
 u_int	cpu_mxcsr_mask;		/* Valid bits in mxcsr */
 u_int	cpu_clflush_line_size = 32;
 u_int	cpu_stdext_feature;	/* %ebx */