kernel firmware loader breaks on i686 kernel

You think you have found a bug? Let us know about it.
Post Reply
elcore
Posts: 40
Joined: 4. Jul 2014, 05:07
Location: EU

kernel firmware loader breaks on i686 kernel

Post by elcore » 17. Jan 2018, 12:37

AMD microcode auto loads fine on x86_64 but fails on x86 SMP
I've got the same kernel config with different architecture, 4.4.111-x86-SMP and 4.4.111-x86_64 both with amd-ucode compiled in.

Code: Select all

Linux xhost 4.4.111-x86 #3 SMP Wed Jan 17 12:30:27 CET 2018 i686 AMD Phenom(tm) II X2 550 Processor AuthenticAMD GNU/Linux
Linux xhost64 4.4.111-x64 #5 SMP Mon Jan 15 10:47:37 CET 2018 x86_64 AMD Phenom(tm) II X2 550 Processor AuthenticAMD GNU/Linux

Code: Select all

  MK_FW   firmware/amd-ucode/microcode_amd.bin.gen.S
  AS      firmware/amd-ucode/microcode_amd.bin.gen.o
  MK_FW   firmware/amd-ucode/microcode_amd_fam15h.bin.gen.S
  AS      firmware/amd-ucode/microcode_amd_fam15h.bin.gen.o
  MK_FW   firmware/amd-ucode/microcode_amd_fam16h.bin.gen.S
  AS      firmware/amd-ucode/microcode_amd_fam16h.bin.gen.o
  LD      firmware/built-in.o
Problem is on i686 kernel, microcode update only loads firmware late when manually started with:

Code: Select all

echo 1 > /sys/devices/system/cpu/microcode/reload

Code: Select all

microcode: CPU0: patch_level=0x01000086
microcode: CPU1: patch_level=0x01000086
microcode: CPU0: new patch_level=0x010000db
microcode: CPU1: new patch_level=0x010000db
But on x86_64 it loads early just fine without manual intervention:

Code: Select all

microcode: CPU0: patch_level=0x010000db
microcode: CPU1: patch_level=0x010000db

Post Reply