Print this page
3408 detect socket type of newer AMD CPUs
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
*** 26,35 ****
--- 26,37 ----
* 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,547 ****
*/
#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 \
_X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0004)
! #define X86_CHIPREV_AMD_10_REV_D \
_X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0008)
/*
* Definitions for AMD Family 0x11.
*/
! #define X86_CHIPREV_AMD_11 \
! _X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x11, 0x0001)
/*
* 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.
*/
--- 527,577 ----
*/
#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_C2 \
_X86_CHIPREV_MKREV(X86_VENDOR_AMD, 0x10, 0x0004)
! #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_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,582 ****
--- 603,620 ----
#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
*/