Ryzen public erratas

Konstantin Belousov kostikbel at gmail.com
Wed Jun 13 10:35:48 UTC 2018


Today I noted that AMD published the public errata document for Ryzens,
https://developer.amd.com/wp-content/resources/55449_1.12.pdf

Some of the issues listed there looks quite relevant to the potential
hangs that some people still experience with the machines.  I wrote
a script which should apply the recommended workarounds to the erratas
that I find interesting.

To run it, kldload cpuctl, then apply the latest firmware update to your
CPU, then run the following shell script.  Comments indicate the errata
number for the workarounds.

Please report the results.  If the script helps, I will code the kernel
change to apply the workarounds.

#!/bin/sh

# Enable workarounds for erratas listed in
# https://developer.amd.com/wp-content/resources/55449_1.12.pdf

# 1057, 1109
sysctl machdep.idle_mwait=0
sysctl machdep.idle=hlt

for x in /dev/cpuctl*; do
	# 1021
	cpucontrol -m '0xc0011029|=0x2000' $x
	# 1033
	cpucontrol -m '0xc0011020|=0x10' $x
	# 1049
	cpucontrol -m '0xc0011028|=0x10' $x
	# 1095
	cpucontrol -m '0xc0011020|=0x200000000000000' $x
done



More information about the freebsd-current mailing list