Ryzen public erratas

Konstantin Belousov kostikbel at gmail.com
Wed Jun 13 11:46:38 UTC 2018


On Wed, Jun 13, 2018 at 12:06:42PM +0100, Johannes Lundberg wrote:
> 
> Konstantin Belousov writes:
> 
> > 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
> >
> 
> Hi
> 
> Thanks for the fix! I'm trying it now on my Ryzen 3 2200G which does
> experience some random occasional resets.
> 
> About updating to latest firmware, is this something that's done from BIOS or
> from FreeBSD? If the latter, how?
>From FreeBSD, install sysutils/devcpu-data then do
	service microcode_update start
and of course, you must flash latest BIOS.

The microcode_update must be applied before running this script.


More information about the freebsd-current mailing list