Page MenuHomeFreeBSD

Limit workaround for errata E400 to appropriate AMD cpus.
ClosedPublic

Authored by kib on Sep 17 2020, 6:37 PM.
Tags
Referenced Files
Unknown Object (File)
Sat, Apr 13, 4:23 AM
Unknown Object (File)
Sat, Apr 13, 2:49 AM
Unknown Object (File)
Mar 17 2024, 11:13 PM
Unknown Object (File)
Mar 7 2024, 2:19 PM
Unknown Object (File)
Jan 13 2024, 11:32 AM
Unknown Object (File)
Dec 20 2023, 6:43 AM
Unknown Object (File)
Nov 23 2023, 8:41 AM
Unknown Object (File)
Nov 13 2023, 4:04 PM
Subscribers

Details

Summary

From Linux sources and different datasheets I looked at, it seems that the workaround is only needed on families 0xf and 0x10. For instance, Ryzens do not implement the accessed MSR, it is documented as reserved. Also, hypervisors should not allow guest to put CPU into idle state, so activate workaround only when on bare hardware.

While there, style the code:

  • move MSR defines to specialreg.h
  • move identification to initcpu.c

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 33615