amd64 - Add missing AMD64_CPU_FAMILY/MODEL
authorAlex Hornung <ahornung@gmail.com>
Sat, 3 Oct 2009 18:42:02 +0000 (19:42 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 3 Oct 2009 18:42:02 +0000 (19:42 +0100)
* Add missing AMD64_CPU_FAMILY and AMD64_CPU_MODEL and related stuff,
  requred by the recent identcpu magic for VIA processors.

Reported-by: YONETANI Tomokazu
Obtained-from: FreeBSD

sys/cpu/amd64/include/specialreg.h

index 0a4be7b..bc70fe0 100644 (file)
 #define        AMDID2_SKINIT   0x00001000
 #define        AMDID2_WDT      0x00002000
 
+/*
+ * CPUID instruction 1 eax info
+ */
+#define        CPUID_STEPPING          0x0000000f
+#define        CPUID_MODEL             0x000000f0
+#define        CPUID_FAMILY            0x00000f00
+#define        CPUID_EXT_MODEL         0x000f0000
+#define        CPUID_EXT_FAMILY        0x0ff00000
+#define        AMD64_CPU_MODEL(id) \
+    ((((id) & CPUID_MODEL) >> 4) | \
+    (((id) & CPUID_EXT_MODEL) >> 12))
+#define        AMD64_CPU_FAMILY(id) \
+    ((((id) & CPUID_FAMILY) >> 8) + \
+    (((id) & CPUID_EXT_FAMILY) >> 20))
 
 /*
  * CPUID instruction 1 ebx info