Print this page
3408 detect socket type of newer AMD CPUs
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

@@ -26,10 +26,12 @@
  * Copyright (c) 2010, Intel Corporation.
  * All rights reserved.
  */
 /*
  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ * Copyright 2012 Jens Elkner <jel+illumos@cs.uni-magdeburg.de>
+ * Copyright 2012 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  */
 
 #ifndef _SYS_X86_ARCHEXT_H
 #define _SYS_X86_ARCHEXT_H
 

@@ -525,23 +527,51 @@
  */
 #define X86_CHIPREV_AMD_10_REV_A \
         _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0001)
 #define X86_CHIPREV_AMD_10_REV_B \
         _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0002)
-#define X86_CHIPREV_AMD_10_REV_C \
+#define X86_CHIPREV_AMD_10_REV_C2 \
         _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0004)
-#define X86_CHIPREV_AMD_10_REV_D \
+#define X86_CHIPREV_AMD_10_REV_C3 \
         _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0008)
+#define X86_CHIPREV_AMD_10_REV_D0 \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0010)
+#define X86_CHIPREV_AMD_10_REV_D1 \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0020)
+#define X86_CHIPREV_AMD_10_REV_E \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0040)
 
 /*
  * Definitions for AMD Family 0x11.
  */
-#define X86_CHIPREV_AMD_11 \
-        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x11, 0x0001)
+#define X86_CHIPREV_AMD_11_REV_B \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x11, 0x0002)
 
+/*
+ * Definitions for AMD Family 0x12.
+ */
+#define X86_CHIPREV_AMD_12_REV_B \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x12, 0x0002)
 
 /*
+ * Definitions for AMD Family 0x14.
+ */
+#define X86_CHIPREV_AMD_14_REV_B \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x14, 0x0002)
+#define X86_CHIPREV_AMD_14_REV_C \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x14, 0x0004)
+
+/*
+ * Definitions for AMD Family 0x15
+ */
+#define X86_CHIPREV_AMD_15OR_REV_B2 \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x15, 0x0001)
+
+#define X86_CHIPREV_AMD_15TN_REV_A1 \
+        _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x15, 0x0002)
+
+/*
  * Various socket/package types, extended as the need to distinguish
  * a new type arises.  The top 8 byte identfies the vendor and the
  * remaining 24 bits describe 24 socket types.
  */
 

@@ -573,10 +603,18 @@
 #define X86_SOCKET_AM2R2        _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x000200)
 #define X86_SOCKET_AM3          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x000400)
 #define X86_SOCKET_G34          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x000800)
 #define X86_SOCKET_ASB2         _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x001000)
 #define X86_SOCKET_C32          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x002000)
+#define X86_SOCKET_S1g4         _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x004000)
+#define X86_SOCKET_FT1          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x008000)
+#define X86_SOCKET_FM1          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x010000)
+#define X86_SOCKET_FS1          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x020000)
+#define X86_SOCKET_AM3R2        _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x040000)
+#define X86_SOCKET_FP2          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x080000)
+#define X86_SOCKET_FS1R2        _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x100000)
+#define X86_SOCKET_FM2          _X86_SOCKET_MKVAL(X86_VENDOR_AMD, 0x200000)
 
 /*
  * xgetbv/xsetbv support
  */