Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2018 13:35:35 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        current@freebsd.org, amd64@freebsd.org
Subject:   Ryzen public erratas
Message-ID:  <20180613103535.GP2493@kib.kiev.ua>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180613103535.GP2493>