summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/sys
diff options
context:
space:
mode:
authorKeith M Wesolowski <wesolows@oxide.computer>2022-07-08 08:03:52 -0700
committerRobert Mustacchi <rm@fingolfin.org>2022-08-20 18:04:45 +0000
commitab5bb018eb284290d89d61bbae1913c3ea82b3af (patch)
tree32fe5e89dc94ab1ba7a7f14781e19f0bc2e17254 /usr/src/uts/intel/sys
parent2e401babeb53295c8df347e32364beadc0ed1620 (diff)
downloadillumos-joyent-ab5bb018eb284290d89d61bbae1913c3ea82b3af.tar.gz
14834 cpuid code is and has always been isadep
14835 split cpuid pass1 Reviewed by: Robert Mustacchi <rm@fingolfin.org> Reviewed by: Andy Fiddaman <illumos@fiddaman.net> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/uts/intel/sys')
-rw-r--r--usr/src/uts/intel/sys/x86_archext.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/usr/src/uts/intel/sys/x86_archext.h b/usr/src/uts/intel/sys/x86_archext.h
index c16d430c2e..b936012dac 100644
--- a/usr/src/uts/intel/sys/x86_archext.h
+++ b/usr/src/uts/intel/sys/x86_archext.h
@@ -1204,8 +1204,6 @@ extern uint_t x86_clflush_size;
extern uint_t pentiumpro_bug4046376;
-extern const char CyrixInstead[];
-
/*
* These functions are all used to perform various side-channel mitigations.
* Please see uts/i86pc/os/cpuid.c for more information.
@@ -1255,9 +1253,21 @@ extern void mtrr_sync(void);
extern void cpu_fast_syscall_enable(void);
extern void cpu_fast_syscall_disable(void);
+typedef enum cpuid_pass {
+ CPUID_PASS_NONE = 0,
+ CPUID_PASS_PRELUDE,
+ CPUID_PASS_IDENT,
+ CPUID_PASS_BASIC,
+ CPUID_PASS_EXTENDED,
+ CPUID_PASS_DYNAMIC,
+ CPUID_PASS_RESOLVE
+} cpuid_pass_t;
+
struct cpu;
-extern int cpuid_checkpass(struct cpu *, int);
+extern boolean_t cpuid_checkpass(const struct cpu *const, const cpuid_pass_t);
+extern void cpuid_execpass(struct cpu *, const cpuid_pass_t, void *);
+extern void cpuid_pass_ucode(struct cpu *, uchar_t *);
extern uint32_t cpuid_insn(struct cpu *, struct cpuid_regs *);
extern uint32_t __cpuid_insn(struct cpuid_regs *);
extern int cpuid_getbrandstr(struct cpu *, char *, size_t);
@@ -1300,13 +1310,8 @@ struct cpuid_info;
extern void setx86isalist(void);
extern void cpuid_alloc_space(struct cpu *);
extern void cpuid_free_space(struct cpu *);
-extern void cpuid_pass1(struct cpu *, uchar_t *);
-extern void cpuid_pass2(struct cpu *);
-extern void cpuid_pass3(struct cpu *);
-extern void cpuid_pass4(struct cpu *, uint_t *);
extern void cpuid_set_cpu_properties(void *, processorid_t,
struct cpuid_info *);
-extern void cpuid_pass_ucode(struct cpu *, uchar_t *);
extern void cpuid_post_ucodeadm(void);
extern void cpuid_get_addrsize(struct cpu *, uint_t *, uint_t *);
@@ -1385,6 +1390,8 @@ extern void xsave_setup_msr(struct cpu *);
extern void reset_gdtr_limit(void);
#endif
+extern int enable_platform_detection;
+
/*
* Hypervisor signatures
*/