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
*/