Print this page
*** NO COMMENTS ***
@@ -185,13 +185,15 @@
#define CPUID_AMD_ECX_OSVW 0x00000200 /* AMD: OSVW */
#define CPUID_AMD_ECX_IBS 0x00000400 /* AMD: IBS */
#define CPUID_AMD_ECX_SSE5 0x00000800 /* AMD: SSE5 */
#define CPUID_AMD_ECX_SKINIT 0x00001000 /* AMD: SKINIT */
#define CPUID_AMD_ECX_WDT 0x00002000 /* AMD: WDT */
+#define CPUID_AMD_ECX_TOPOEXT 0x00400000 /* AMD: Topology Extensions */
#define FMT_CPUID_AMD_ECX \
"\20" \
+ "\22topoext" \
"\14wdt\13skinit\12sse5\11ibs\10osvw\93dnp\8mas" \
"\7sse4a\6lzcnt\5cr8d\3svm\2lcmplgcy\1ahf64"
/*
* Intel now seems to have claimed part of the "extended" function
@@ -366,10 +368,11 @@
#define X86FSET_PCLMULQDQ 32
#define X86FSET_XSAVE 33
#define X86FSET_AVX 34
#define X86FSET_VMX 35
#define X86FSET_SVM 36
+#define X86FSET_TOPOEXT 37
/*
* flags to patch tsc_read routine.
*/
#define X86_NO_TSC 0x0
@@ -589,11 +592,11 @@
#if !defined(_ASM)
#if defined(_KERNEL) || defined(_KMEMUSER)
-#define NUM_X86_FEATURES 37
+#define NUM_X86_FEATURES 38
extern uchar_t x86_featureset[];
extern void free_x86_featureset(void *featureset);
extern boolean_t is_x86_feature(void *featureset, uint_t feature);
extern void add_x86_feature(void *featureset, uint_t feature);
@@ -674,10 +677,12 @@
extern int cpuid_get_clogid(struct cpu *);
extern int cpuid_get_cacheid(struct cpu *);
extern uint32_t cpuid_get_apicid(struct cpu *);
extern uint_t cpuid_get_procnodeid(struct cpu *cpu);
extern uint_t cpuid_get_procnodes_per_pkg(struct cpu *cpu);
+extern uint_t cpuid_get_compunitid(struct cpu *cpu);
+extern uint_t cpuid_get_cores_per_compunit(struct cpu *cpu);
extern int cpuid_is_cmt(struct cpu *);
extern int cpuid_syscall32_insn(struct cpu *);
extern int getl2cacheinfo(struct cpu *, int *, int *, int *);
extern uint32_t cpuid_getchiprev(struct cpu *);