summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@fingolfin.org>2021-09-19 17:36:21 -0700
committerRobert Mustacchi <rm@fingolfin.org>2022-02-01 00:44:51 +0000
commit64168f2b8a303c222446ec487be7806acd67caab (patch)
tree98685226f12a02703acbe6fa17500946a96a7f5a /usr
parent3b5bbfc55d79c42ba1d3c6de2178627cbfcccff8 (diff)
downloadillumos-gate-64168f2b8a303c222446ec487be7806acd67caab.tar.gz
14091 Add AMD Cezanne info
Reviewed by: Rich Lowe <richlowe@richlowe.net> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr')
-rw-r--r--usr/src/man/man3cpc/cpc.3cpc3
-rw-r--r--usr/src/man/man7d/amdzen.7d4
-rw-r--r--usr/src/pkg/manifests/driver-cpu-amd-zen.p5m15
-rw-r--r--usr/src/uts/i86pc/os/cpuid_subr.c23
-rw-r--r--usr/src/uts/intel/io/amdzen/amdzen.c2
-rw-r--r--usr/src/uts/intel/pcbe/opteron_pcbe.c3
6 files changed, 39 insertions, 11 deletions
diff --git a/usr/src/man/man3cpc/cpc.3cpc b/usr/src/man/man3cpc/cpc.3cpc
index 2011cfad39..63a0ac70fe 100644
--- a/usr/src/man/man3cpc/cpc.3cpc
+++ b/usr/src/man/man3cpc/cpc.3cpc
@@ -145,7 +145,8 @@ Includes Ryzen, ThreadRipper, and EPYC branded processors.
AMD Family 17h Zen 2 processors, including models 30-7fh.
Includes Ryzen, ThreadRipper, and EPYC branded processors.
.It Xr amd_f17h_zen3_events 3CPC
-AMD Family 19h Zen 3 processors, including models 00-0fh and 20-2fh.
+AMD Family 19h Zen 3 processors, including models 00-0fh, 20-2fh, and
+50-5fh.
Includes Ryzen and EPYC branded processors.
.El
.Ss Using Attributes
diff --git a/usr/src/man/man7d/amdzen.7d b/usr/src/man/man7d/amdzen.7d
index 7c24b7106a..919fba4e2a 100644
--- a/usr/src/man/man7d/amdzen.7d
+++ b/usr/src/man/man7d/amdzen.7d
@@ -9,7 +9,7 @@
.\" http://www.illumos.org/license/CDDL.
.\"
.\"
-.\" Copyright 2020 Oxide Computer Company
+.\" Copyright 2021 Oxide Computer Company
.\"
.Dd September 26, 2020
.Dt AMDZEN 7D
@@ -37,7 +37,7 @@ AMD Zen+ Colfax, Picasso, and Pinnacle Ridge
AMD Zen 2 Castle Peak, Matisse, Rome, and Renoir
.Pq Family 17h
.It
-AMD Zen 3 Milan and Vermeer
+AMD Zen 3 Cezanne, Milan, and Vermeer
.Pq Family 19h
.El
.Pp
diff --git a/usr/src/pkg/manifests/driver-cpu-amd-zen.p5m b/usr/src/pkg/manifests/driver-cpu-amd-zen.p5m
index 7cb6a8bf78..f2a3067374 100644
--- a/usr/src/pkg/manifests/driver-cpu-amd-zen.p5m
+++ b/usr/src/pkg/manifests/driver-cpu-amd-zen.p5m
@@ -10,7 +10,7 @@
#
#
-# Copyright 2020 Oxide Computer Company
+# Copyright 2021 Oxide Computer Company
#
<include global_zone_only_component>
@@ -39,8 +39,9 @@ driver name=amdzen
# 1490-1497: f17h m30-3f df
# 15d0: f17h m10-m2f nb
# 15e8-15ef: f17h m10-m2f df
-# 1630: f17h m60-6f nb
+# 1630: f17h m60-6f, f19h m50-5f nb
# 1650-1657: f19h m00-0f df
+# 166a-1671: f19h m50-5f df
#
driver name=amdzen_stub \
alias=pci1022,1440,p \
@@ -94,5 +95,13 @@ driver name=amdzen_stub \
alias=pci1022,1654,p \
alias=pci1022,1655,p \
alias=pci1022,1656,p \
- alias=pci1022,1657,p
+ alias=pci1022,1657,p \
+ alias=pci1022,166a,p \
+ alias=pci1022,166b,p \
+ alias=pci1022,166c,p \
+ alias=pci1022,166d,p \
+ alias=pci1022,166e,p \
+ alias=pci1022,166f,p \
+ alias=pci1022,1670,p \
+ alias=pci1022,1671,p
license lic_CDDL license=lic_CDDL
diff --git a/usr/src/uts/i86pc/os/cpuid_subr.c b/usr/src/uts/i86pc/os/cpuid_subr.c
index 18d242eb55..1c79138139 100644
--- a/usr/src/uts/i86pc/os/cpuid_subr.c
+++ b/usr/src/uts/i86pc/os/cpuid_subr.c
@@ -91,10 +91,11 @@
* 18 for family 0x18, models 00 - 0f
* 19 for family 0x19, models 00 - 0f
* 20 for family 0x19, models 20 - 2f
+ * 21 for family 0x19, models 50 - 5f
* Second index by (model & 0x3) for family 0fh,
* CPUID pkg bits (Fn8000_0001_EBX[31:28]) for later families.
*/
-static uint32_t amd_skts[21][8] = {
+static uint32_t amd_skts[22][8] = {
/*
* Family 0xf revisions B through E
*/
@@ -408,7 +409,22 @@ static uint32_t amd_skts[21][8] = {
X86_SOCKET_UNKNOWN, /* 0b101 */
X86_SOCKET_UNKNOWN, /* 0b110 */
X86_SOCKET_UNKNOWN /* 0b111 */
- }
+ },
+
+ /*
+ * Family 0x19 models 50-5f (Zen 3 - Cezanne)
+ */
+#define A_SKTS_21 21
+ {
+ X86_SOCKET_FP6, /* 0b000 */
+ X86_SOCKET_UNKNOWN, /* 0b001 */
+ X86_SOCKET_AM4, /* 0b010 */
+ X86_SOCKET_UNKNOWN, /* 0b011 */
+ X86_SOCKET_UNKNOWN, /* 0b100 */
+ X86_SOCKET_UNKNOWN, /* 0b101 */
+ X86_SOCKET_UNKNOWN, /* 0b110 */
+ X86_SOCKET_UNKNOWN /* 0b111 */
+ },
};
struct amd_sktmap_s {
@@ -480,7 +496,8 @@ static const struct amd_skt_mapent {
{ 0x17, 0x70, 0x7f, A_SKTS_17 },
{ 0x18, 0x00, 0x0f, A_SKTS_18 },
{ 0x19, 0x00, 0x0f, A_SKTS_19 },
- { 0x19, 0x20, 0x2f, A_SKTS_20 }
+ { 0x19, 0x20, 0x2f, A_SKTS_20 },
+ { 0x19, 0x50, 0x5f, A_SKTS_21 }
};
/*
diff --git a/usr/src/uts/intel/io/amdzen/amdzen.c b/usr/src/uts/intel/io/amdzen/amdzen.c
index 99670abfec..3715a2c035 100644
--- a/usr/src/uts/intel/io/amdzen/amdzen.c
+++ b/usr/src/uts/intel/io/amdzen/amdzen.c
@@ -146,7 +146,7 @@ static const uint16_t amdzen_nb_ids[] = {
0x15d0,
/* Family 17h/19h Rome, Milan, Matisse, Vermeer Zen 2/Zen 3 uarch */
0x1480,
- /* Family 17h Renoir Models 60-6fh (Zen 2 uarch) */
+ /* Family 17h/19h Renoir, Cezanne Zen 2/3 uarch) */
0x1630
};
diff --git a/usr/src/uts/intel/pcbe/opteron_pcbe.c b/usr/src/uts/intel/pcbe/opteron_pcbe.c
index 6fb22b1751..2cae323ee5 100644
--- a/usr/src/uts/intel/pcbe/opteron_pcbe.c
+++ b/usr/src/uts/intel/pcbe/opteron_pcbe.c
@@ -631,7 +631,8 @@ opt_pcbe_init(void)
amd_events = opteron_pcbe_f17h_zen2_events;
amd_generic_events = family_17h_zen2_papi_events;
} else if (amd_family == 0x19 && (amd_model <= 0xf ||
- (amd_model >= 0x20 && amd_model <= 0x2f))) {
+ (amd_model >= 0x20 && amd_model <= 0x2f) ||
+ (amd_model >= 0x50 && amd_model <= 0x5f))) {
amd_pcbe_cpuref = amd_fam_19h_zen3_reg;
amd_events = opteron_pcbe_f19h_zen3_events;
amd_generic_events = family_19h_zen3_papi_events;