ToDo:
これまでの5950X, 7950X同様にいつもの店で、初回販売をゲット!
会計開始時点で、9950Xは完売・9900Xは在庫ありだった
他の店だと9900Xも含めて完売になっているところもあったようなので、 初回入荷分はかなり少なかった模様
現行運用中の7950Xなメイン機(Antec P5にてunix運用)を9950Xに更新して、 余った7950Xで5950Xなサブ機(Windows運用)を更新予定
サブ機側はマザー換装になるので、USB仕様が旧式化しつつあるケースも含めて更新するつもりで、ケース・電源・メイン機と同じASRock B650M PG Riptide WiFiと本更新でメイン機に投入予定のJEDEC仕様のDDR5-5600メモリを準備済み
一旦、これらの部品で検証環境を構築、CPUの動作確認・冷却系の機能確認・Kernel driver回りの動作確認を実施後にメイン機の筐体に移植予定
IO-dieはRyzen 7000と同様なはずなので、本運用に向けてメモリ回りの動作安定性・冷却/消費電力とOn dieセンサー(amdtemp driver)の動作確認を予定
CPU・マザー(玉突きで出てくる7950X用に用意した同型)・メモリは本番機で使用予定の構成でサブ機用の筐体に仮組み実施
CPUクーラーは、いつもならNoctua NH-U12Aを使うところだが、試験的にCPS RZ620-BKをNoctua NF-A12x25 PWMファンに換装したものを導入
これに、試験用のNVMe SSD(WD SN770)を載せた最小構成で各種動作確認を開始
試験環境のFreeBSDで確認作業実施
とりあえず、stable/14上でコードをでっち上げ
diff --git a/sys/dev/amdsmn/amdsmn.c b/sys/dev/amdsmn/amdsmn.c index 5af8d9aca7bd..ece8a080ec23 100644 --- sys/dev/amdsmn/amdsmn.c.orig +++ sys/dev/amdsmn/amdsmn.c @@ -198,6 +198,7 @@ amdsmn_probe(device_t dev) case 0x15: case 0x17: case 0x19: + case 0x1a: break; default: return (ENXIO); diff --git a/sys/dev/amdtemp/amdtemp.c b/sys/dev/amdtemp/amdtemp.c index 73a4ba86bb84..1af35ed9d09b 100644 --- sys/dev/amdtemp/amdtemp.c.orig +++ sys/dev/amdtemp/amdtemp.c @@ -227,6 +227,7 @@ static int32_t amdtemp_gettemp15hm60h(device_t dev, amdsensor_t sensor); static int32_t amdtemp_gettemp17h(device_t dev, amdsensor_t sensor); static void amdtemp_probe_ccd_sensors17h(device_t dev, uint32_t model); static void amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model); +static void amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model); static int amdtemp_sysctl(SYSCTL_HANDLER_ARGS); static device_method_t amdtemp_methods[] = { @@ -314,6 +315,7 @@ amdtemp_probe(device_t dev) case 0x16: case 0x17: case 0x19: + case 0x1a: break; default: return (ENXIO); @@ -473,6 +475,7 @@ amdtemp_attach(device_t dev) break; case 0x17: case 0x19: + case 0x1a: sc->sc_ntemps = 1; sc->sc_gettemp = amdtemp_gettemp17h; needsmn = true; @@ -536,6 +539,8 @@ amdtemp_attach(device_t dev) amdtemp_probe_ccd_sensors17h(dev, model); else if (family == 0x19) amdtemp_probe_ccd_sensors19h(dev, model); + else if (family == 0x1a) + amdtemp_probe_ccd_sensors1ah(dev, model); else if (sc->sc_ntemps > 1) { SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sysctlnode), @@ -886,3 +891,24 @@ amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model) amdtemp_probe_ccd_sensors(dev, maxreg); } + +static void +amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model) +{ + struct amdtemp_softc *sc = device_get_softc(dev); + uint32_t maxreg; + + switch (model) { + case 0x40 ... 0x4f: /* Zen5 Ryzen "Granite Ridge" */ + sc->sc_temp_base = AMDTEMP_ZEN4_CCD_TMP_BASE; + maxreg = 8; + _Static_assert((int)NUM_CCDS >= 8, ""); + break; + default: + device_printf(dev, + "Unrecognized Family 1ah Model: %02xh\n", model); + return; + } + + amdtemp_probe_ccd_sensors(dev, maxreg); +}
一応、それらしい数値が返ってくる模様
% dmesg -a | grep ^CPU CPU: AMD Ryzen 9 9950X 16-Core Processor (4292.17-MHz K8-class CPU) % dmesg -a|grep ^amd amdsmn0: <AMD Family 1ah System Management Network> on hostb0 amdtemp0: <AMD CPU On-Die Thermal Sensors> on hostb0 amdtemp0: Found 32 cores and 1 sensors. % sysctl dev.amdtemp dev.amdtemp.0.ccd1: 34.0C dev.amdtemp.0.ccd0: 36.1C dev.amdtemp.0.core0.sensor0: 42.6C dev.amdtemp.0.sensor_offset: 0 dev.amdtemp.0.%parent: hostb0 dev.amdtemp.0.%pnpinfo: dev.amdtemp.0.%location: dev.amdtemp.0.%driver: amdtemp dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors dev.amdtemp.%parent: % sysctl dev.cpu.0 dev.cpu.0.temperature: 41.5C dev.cpu.0.cx_method: C1/hlt C2/io C3/io dev.cpu.0.cx_usage_counters: 205233 0 0 dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 443us dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_supported: C1/1/1 C2/2/18 C3/3/350 dev.cpu.0.freq_levels: 4300/5250 3000/2550 dev.cpu.0.freq: 4300 dev.cpu.0.%parent: acpi0 dev.cpu.0.%pnpinfo: _HID=ACPI0007 _UID=0 _CID=none dev.cpu.0.%location: handle=\_SB_.PLTF.C000 dev.cpu.0.%driver: cpu dev.cpu.0.%desc: ACPI CPU
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記