diff options
author | Keith M Wesolowski <wesolows@oxide.computer> | 2022-07-08 08:03:52 -0700 |
---|---|---|
committer | Robert Mustacchi <rm@fingolfin.org> | 2022-08-20 18:04:45 +0000 |
commit | ab5bb018eb284290d89d61bbae1913c3ea82b3af (patch) | |
tree | 32fe5e89dc94ab1ba7a7f14781e19f0bc2e17254 /usr/src/uts/intel/sys | |
parent | 2e401babeb53295c8df347e32364beadc0ed1620 (diff) | |
download | illumos-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.h | 23 |
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 */ |