site  contact  subhomenews

Kernel 5.10.81 compiled with improved AMD CPU support

November 24, 2021 — BarryK

I don't have a PC with AMD CPU, so haven't bothered much with configuring the kernel to work with them. However, some guys testing EasyOS are keen on them, so today have given it a closer look.

I was looking at Gentoo documentation:

https://wiki.gentoo.org/wiki/Ryzen

https://wiki.gentoo.org/wiki/AMD_microcode

I have never bothered about microcode either, and the kernel has had CONFIG_MICROCODE disabled. But from a bit of reading, perhaps I should support it. So, have now turned it on, for AMD CPUs only.

Have compiled the 5.10.81 kernel, with these changes, relative to 5.10.78 (as used in EasyOS 3.1.11):

Processor type and features
[*] Support x2apic CONFIG_X86_X2APIC
[*] AMD ACPI2Platform devices support CONFIG_X86_AMD_PLATFORM_DEVICE
Performance monitoring
<*> AMD Processor Power Reporting Mechanism CONFIG_PERF_EVENTS_AMD_POWER
[*] CPU microcode loading support CONFIG_MICROCODE
[ ] Intel microcode loading support
[*] AMD microcode loading support CONFIG_MICROCODE_AMD

Device Drivers
Generic Driver Options > Firmware loader
(amd-ucode/microcode_amd.bin amd-ucode/microcode_amd_fam15h.bin amd-ucode/microcode_amd_fam16h.bin \
amd-ucode/microcode_amd_fam17h.bin amd-ucode/microcode_amd_fam19h.bin) \
Build named firmware blobs into the kernel CONFIG_EXTRA_FIRMWARE
(/lib/firmware) Firmware blobs root directory CONFIG_EXTRA_FIRMWARE_DIR
IOMMU Hardware Support
[*] AMD IOMMU support CONFIG_AMD_IOMMU
<*> AMD IOMMU Version 2 driver CONFIG_AMD_IOMMU_V2

I got the microcode from here:

https://anduin.linuxfromscratch.org/sources/linux-firmware/amd-ucode/

From reading the Gentoo wiki, it seems that improved support for recent AMD CPUs is in the 5.11 kernel. However, I will stay with the 5.10 series for awhile longer.    

Tags: easy