[LEDE-DEV,1/2] x86: add amd microcode entries to grub config

Message ID 20180424125620.1558-2-tomek_n@o2.pl
State New
Headers show
Series
  • [LEDE-DEV,1/2] x86: add amd microcode entries to grub config
Related show

Commit Message

Tomasz Maciej Nowak April 24, 2018, 12:56 p.m.
Create initrd enries for x86 images, that'll load amd microcode as early
as possible. Also remove the preinit script responsible for late load of
microcode.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
---
 .../x86/base-files/lib/preinit/02_load_x86_ucode     | 12 ------------
 target/linux/x86/image/grub-iso.cfg                  |  3 +++
 target/linux/x86/image/grub.cfg                      |  3 +++
 3 files changed, 6 insertions(+), 12 deletions(-)
 delete mode 100644 target/linux/x86/base-files/lib/preinit/02_load_x86_ucode

Comments

Stijn Segers April 24, 2018, 7:03 p.m. | #1
Hi Tomasz,

Op di, 24 apr 2018 om 2:56 , schreef Tomasz Maciej Nowak 
<tomek_n@o2.pl>:
> Create initrd enries for x86 images, that'll load amd microcode as 
> early
> as possible. Also remove the preinit script responsible for late load 
> of
> microcode.
> 
> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
> ---
>  .../x86/base-files/lib/preinit/02_load_x86_ucode     | 12 
> ------------
>  target/linux/x86/image/grub-iso.cfg                  |  3 +++
>  target/linux/x86/image/grub.cfg                      |  3 +++
>  3 files changed, 6 insertions(+), 12 deletions(-)
>  delete mode 100644 
> target/linux/x86/base-files/lib/preinit/02_load_x86_ucode

I'm not sure what's going wrong here, I'm on a clean master tree but 
your first patch does not apply:

$ git am 1.patch
Applying: x86: add amd microcode entries to grub config
error: patch failed: 
target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
error: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: patch 
does not apply
error: patch failed: target/linux/x86/image/grub-iso.cfg:10
error: target/linux/x86/image/grub-iso.cfg: patch does not apply
error: patch failed: target/linux/x86/image/grub.cfg:10
error: target/linux/x86/image/grub.cfg: patch does not apply
Patch failed at 0001 x86: add amd microcode entries to grub config
$ ./scripts/getver.sh
r6755-d089a5d773

Second does apply cleanly.

Cheers

Stijn


> 
> diff --git 
> a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode 
> b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
> deleted file mode 100644
> index d3a23e24b2..0000000000
> --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#!/bin/sh
> -# Copyright (C) 2018 OpenWrt.org
> -
> -do_load_x86_ucode() {
> -	if grep -q AuthenticAMD /proc/cpuinfo; then
> -		if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
> -			echo 1 > /sys/devices/system/cpu/microcode/reload
> -		fi
> -	fi
> -}
> -
> -boot_hook_add preinit_main do_load_x86_ucode
> diff --git a/target/linux/x86/image/grub-iso.cfg 
> b/target/linux/x86/image/grub-iso.cfg
> index 30b587bd1c..5a2d67b7b3 100644
> --- a/target/linux/x86/image/grub-iso.cfg
> +++ b/target/linux/x86/image/grub-iso.cfg
> @@ -10,4 +10,7 @@ menuentry "OpenWrt" {
>  	if [ -e /boot/intel-ucode.img ]; then
>  		initrd /boot/intel-ucode.img
>  	fi
> +	if [ -e /boot/amd-ucode.img ]; then
> +		initrd /boot/amd-ucode.img
> +	fi
>  }
> diff --git a/target/linux/x86/image/grub.cfg 
> b/target/linux/x86/image/grub.cfg
> index dde24b95ce..caf38ec2c4 100644
> --- a/target/linux/x86/image/grub.cfg
> +++ b/target/linux/x86/image/grub.cfg
> @@ -10,6 +10,9 @@ menuentry "OpenWrt" {
>  	if [ -e /boot/intel-ucode.img ]; then
>  		initrd /boot/intel-ucode.img
>  	fi
> +	if [ -e /boot/amd-ucode.img ]; then
> +		initrd /boot/amd-ucode.img
> +	fi
>  }
>  menuentry "OpenWrt (failsafe)" {
>  	linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd
> --
> 2.17.0
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
Tomasz Maciej Nowak April 24, 2018, 7:14 p.m. | #2
W dniu 24.04.2018 o 21:03, Stijn Segers pisze:
> Hi Tomasz,
> 
> Op di, 24 apr 2018 om 2:56 , schreef Tomasz Maciej Nowak <tomek_n@o2.pl>:
>> Create initrd enries for x86 images, that'll load amd microcode as early
>> as possible. Also remove the preinit script responsible for late load of
>> microcode.
>>
>> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
>> ---
>>  .../x86/base-files/lib/preinit/02_load_x86_ucode     | 12 ------------
>>  target/linux/x86/image/grub-iso.cfg                  |  3 +++
>>  target/linux/x86/image/grub.cfg                      |  3 +++
>>  3 files changed, 6 insertions(+), 12 deletions(-)
>>  delete mode 100644 target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
> 
> I'm not sure what's going wrong here, I'm on a clean master tree but your first patch does not apply:
> 
> $ git am 1.patch
> Applying: x86: add amd microcode entries to grub config
> error: patch failed: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
> error: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: patch does not apply
> error: patch failed: target/linux/x86/image/grub-iso.cfg:10
> error: target/linux/x86/image/grub-iso.cfg: patch does not apply
> error: patch failed: target/linux/x86/image/grub.cfg:10
> error: target/linux/x86/image/grub.cfg: patch does not apply
> Patch failed at 0001 x86: add amd microcode entries to grub config
> $ ./scripts/getver.sh
> r6755-d089a5d773
> 

Hi.

I did wrongly spell myself out instead of "This series needs to be applied on top of 'intel-microcode: load as early as possible' series." it should be: "This series needs to be applied after 'intel-microcode: load as early as possible' series.". Sorry about it.

> Second does apply cleanly.
> 
> Cheers
> 
> Stijn
> 
> 
>>
>> diff --git a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
>> deleted file mode 100644
>> index d3a23e24b2..0000000000
>> --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
>> +++ /dev/null
>> @@ -1,12 +0,0 @@
>> -#!/bin/sh
>> -# Copyright (C) 2018 OpenWrt.org
>> -
>> -do_load_x86_ucode() {
>> -    if grep -q AuthenticAMD /proc/cpuinfo; then
>> -        if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
>> -            echo 1 > /sys/devices/system/cpu/microcode/reload
>> -        fi
>> -    fi
>> -}
>> -
>> -boot_hook_add preinit_main do_load_x86_ucode
>> diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg
>> index 30b587bd1c..5a2d67b7b3 100644
>> --- a/target/linux/x86/image/grub-iso.cfg
>> +++ b/target/linux/x86/image/grub-iso.cfg
>> @@ -10,4 +10,7 @@ menuentry "OpenWrt" {
>>      if [ -e /boot/intel-ucode.img ]; then
>>          initrd /boot/intel-ucode.img
>>      fi
>> +    if [ -e /boot/amd-ucode.img ]; then
>> +        initrd /boot/amd-ucode.img
>> +    fi
>>  }
>> diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub.cfg
>> index dde24b95ce..caf38ec2c4 100644
>> --- a/target/linux/x86/image/grub.cfg
>> +++ b/target/linux/x86/image/grub.cfg
>> @@ -10,6 +10,9 @@ menuentry "OpenWrt" {
>>      if [ -e /boot/intel-ucode.img ]; then
>>          initrd /boot/intel-ucode.img
>>      fi
>> +    if [ -e /boot/amd-ucode.img ]; then
>> +        initrd /boot/amd-ucode.img
>> +    fi
>>  }
>>  menuentry "OpenWrt (failsafe)" {
>>      linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd
>> -- 
>> 2.17.0
>>
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev
>
Stijn Segers April 24, 2018, 8 p.m. | #3
Op di, 24 apr 2018 om 9:14 , schreef Tomasz Maciej Nowak 
<tomek_n@o2.pl>:
> W dniu 24.04.2018 o 21:03, Stijn Segers pisze:
>>  Hi Tomasz,
>> 
>>  Op di, 24 apr 2018 om 2:56 , schreef Tomasz Maciej Nowak 
>> <tomek_n@o2.pl>:
>>>  Create initrd enries for x86 images, that'll load amd microcode as 
>>> early
>>>  as possible. Also remove the preinit script responsible for late 
>>> load of
>>>  microcode.
>>> 
>>>  Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
>>>  ---
>>>   .../x86/base-files/lib/preinit/02_load_x86_ucode     | 12 
>>> ------------
>>>   target/linux/x86/image/grub-iso.cfg                  |  3 +++
>>>   target/linux/x86/image/grub.cfg                      |  3 +++
>>>   3 files changed, 6 insertions(+), 12 deletions(-)
>>>   delete mode 100644 
>>> target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
>> 
>>  I'm not sure what's going wrong here, I'm on a clean master tree 
>> but your first patch does not apply:
>> 
>>  $ git am 1.patch
>>  Applying: x86: add amd microcode entries to grub config
>>  error: patch failed: 
>> target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
>>  error: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: 
>> patch does not apply
>>  error: patch failed: target/linux/x86/image/grub-iso.cfg:10
>>  error: target/linux/x86/image/grub-iso.cfg: patch does not apply
>>  error: patch failed: target/linux/x86/image/grub.cfg:10
>>  error: target/linux/x86/image/grub.cfg: patch does not apply
>>  Patch failed at 0001 x86: add amd microcode entries to grub config
>>  $ ./scripts/getver.sh
>>  r6755-d089a5d773
>> 
> 
> Hi.
> 
> I did wrongly spell myself out instead of "This series needs to be 
> applied on top of 'intel-microcode: load as early as possible' 
> series." it should be: "This series needs to be applied after 
> 'intel-microcode: load as early as possible' series.". Sorry about it.

Nope - turns out I was too quick, my apologies :-(. I merely looked at 
your first mail that actually had a patch for AMD and not at the one 
preceding it (which stated I needed to apply the Intel series first). 
Applied cleanly. How do I check whether it's functional? I grepped 
dmesg for AMD or ucode, but nothing shows. Logread doesn't work at all 
(but I reckon that's unrelated).

Dmesg does say full retpoline support has been enabled, but unless I'm 
mistaken that was a compiler feature, not something that could be 
solved with microcode alone?

Cheers

Stijn



> 
>>  Second does apply cleanly.
>> 
>>  Cheers
>> 
>>  Stijn
>> 
>> 
>>> 
>>>  diff --git 
>>> a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode 
>>> b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
>>>  deleted file mode 100644
>>>  index d3a23e24b2..0000000000
>>>  --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
>>>  +++ /dev/null
>>>  @@ -1,12 +0,0 @@
>>>  -#!/bin/sh
>>>  -# Copyright (C) 2018 OpenWrt.org
>>>  -
>>>  -do_load_x86_ucode() {
>>>  -    if grep -q AuthenticAMD /proc/cpuinfo; then
>>>  -        if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
>>>  -            echo 1 > /sys/devices/system/cpu/microcode/reload
>>>  -        fi
>>>  -    fi
>>>  -}
>>>  -
>>>  -boot_hook_add preinit_main do_load_x86_ucode
>>>  diff --git a/target/linux/x86/image/grub-iso.cfg 
>>> b/target/linux/x86/image/grub-iso.cfg
>>>  index 30b587bd1c..5a2d67b7b3 100644
>>>  --- a/target/linux/x86/image/grub-iso.cfg
>>>  +++ b/target/linux/x86/image/grub-iso.cfg
>>>  @@ -10,4 +10,7 @@ menuentry "OpenWrt" {
>>>       if [ -e /boot/intel-ucode.img ]; then
>>>           initrd /boot/intel-ucode.img
>>>       fi
>>>  +    if [ -e /boot/amd-ucode.img ]; then
>>>  +        initrd /boot/amd-ucode.img
>>>  +    fi
>>>   }
>>>  diff --git a/target/linux/x86/image/grub.cfg 
>>> b/target/linux/x86/image/grub.cfg
>>>  index dde24b95ce..caf38ec2c4 100644
>>>  --- a/target/linux/x86/image/grub.cfg
>>>  +++ b/target/linux/x86/image/grub.cfg
>>>  @@ -10,6 +10,9 @@ menuentry "OpenWrt" {
>>>       if [ -e /boot/intel-ucode.img ]; then
>>>           initrd /boot/intel-ucode.img
>>>       fi
>>>  +    if [ -e /boot/amd-ucode.img ]; then
>>>  +        initrd /boot/amd-ucode.img
>>>  +    fi
>>>   }
>>>   menuentry "OpenWrt (failsafe)" {
>>>       linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd
>>>  --
>>>  2.17.0
>>> 
>>> 
>>>  _______________________________________________
>>>  Lede-dev mailing list
>>>  Lede-dev@lists.infradead.org
>>>  http://lists.infradead.org/mailman/listinfo/lede-dev
>> 
> --
> TMN
Tomasz Maciej Nowak April 24, 2018, 8:18 p.m. | #4
W dniu 24.04.2018 o 22:00, Stijn Segers pisze:
[snip]
>>>
>>>  I'm not sure what's going wrong here, I'm on a clean master tree but your first patch does not apply:
>>>
>>>  $ git am 1.patch
>>>  Applying: x86: add amd microcode entries to grub config
>>>  error: patch failed: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
>>>  error: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: patch does not apply
>>>  error: patch failed: target/linux/x86/image/grub-iso.cfg:10
>>>  error: target/linux/x86/image/grub-iso.cfg: patch does not apply
>>>  error: patch failed: target/linux/x86/image/grub.cfg:10
>>>  error: target/linux/x86/image/grub.cfg: patch does not apply
>>>  Patch failed at 0001 x86: add amd microcode entries to grub config
>>>  $ ./scripts/getver.sh
>>>  r6755-d089a5d773
>>>
>>
>> Hi.
>>
>> I did wrongly spell myself out instead of "This series needs to be applied on top of 'intel-microcode: load as early as possible' series." it should be: "This series needs to be applied after 'intel-microcode: load as early as possible' series.". Sorry about it.
> 
> Nope - turns out I was too quick, my apologies :-(. I merely looked at your first mail that actually had a patch for AMD and not at the one preceding it (which stated I needed to apply the Intel series first). Applied cleanly. How do I check whether it's functional? I grepped dmesg for AMD or ucode, but nothing shows. Logread doesn't work at all (but I reckon that's unrelated).

You should grep -i for "microcode", it should say something like: "microcode updated early ..." probably on first line in kernel log.

Strange thing is that logread doesn't work, but I don't know what's causing this.

> 
> Dmesg does say full retpoline support has been enabled, but unless I'm mistaken that was a compiler feature, not something that could be solved with microcode alone> 
> Cheers
> 
> Stijn
> 
> 
> 
>>
>>>  Second does apply cleanly.
>>>
>>>  Cheers
>>>
>>>  Stijn
>>>
[snip]
Stijn Segers April 26, 2018, 6:04 p.m. | #5
Op di, 24 apr 2018 om 10:18 , schreef Tomasz Maciej Nowak 
<tomek_n@o2.pl>:
> W dniu 24.04.2018 o 22:00, Stijn Segers pisze:
> [snip]
>>>> 
>>>>   I'm not sure what's going wrong here, I'm on a clean master tree 
>>>> but your first patch does not apply:
>>>> 
>>>>   $ git am 1.patch
>>>>   Applying: x86: add amd microcode entries to grub config
>>>>   error: patch failed: 
>>>> target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
>>>>   error: 
>>>> target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: patch 
>>>> does not apply
>>>>   error: patch failed: target/linux/x86/image/grub-iso.cfg:10
>>>>   error: target/linux/x86/image/grub-iso.cfg: patch does not apply
>>>>   error: patch failed: target/linux/x86/image/grub.cfg:10
>>>>   error: target/linux/x86/image/grub.cfg: patch does not apply
>>>>   Patch failed at 0001 x86: add amd microcode entries to grub 
>>>> config
>>>>   $ ./scripts/getver.sh
>>>>   r6755-d089a5d773
>>>> 
>>> 
>>>  Hi.
>>> 
>>>  I did wrongly spell myself out instead of "This series needs to be 
>>> applied on top of 'intel-microcode: load as early as possible' 
>>> series." it should be: "This series needs to be applied after 
>>> 'intel-microcode: load as early as possible' series.". Sorry about 
>>> it.
>> 
>>  Nope - turns out I was too quick, my apologies :-(. I merely looked 
>> at your first mail that actually had a patch for AMD and not at the 
>> one preceding it (which stated I needed to apply the Intel series 
>> first). Applied cleanly. How do I check whether it's functional? I 
>> grepped dmesg for AMD or ucode, but nothing shows. Logread doesn't 
>> work at all (but I reckon that's unrelated).
> 
> You should grep -i for "microcode", it should say something like: 
> "microcode updated early ..." probably on first line in kernel log.
> 
> Strange thing is that logread doesn't work, but I don't know what's 
> causing this.

Hi Thomas,

I just booted OpenWrt off my USB stick, grepping for microcode returned 
this:

[    2.038790] microcode: CPU0: patch_level=0x08001129
[    2.043782] microcode: CPU1: patch_level=0x08001129
[    2.114395] microcode: CPU2: patch_level=0x08001129
[    2.119391] microcode: CPU3: patch_level=0x08001129
[    2.124390] microcode: CPU4: patch_level=0x08001129
[    2.129382] microcode: CPU5: patch_level=0x08001129
[    2.134512] microcode: CPU6: patch_level=0x08001129
[    2.139498] microcode: CPU7: patch_level=0x08001129
[    2.144491] microcode: Microcode Update Driver: v2.2.

Does that help you any? Tested on a Ryzen 1800X.

I reckon logread not working might have to do with my using the 
combined-ext4 image, /tmp is kinda broken as well.

Cheers

Stijn
> 
> 
>> 
>>  Dmesg does say full retpoline support has been enabled, but unless 
>> I'm mistaken that was a compiler feature, not something that could 
>> be solved with microcode alone>
>>  Cheers
>> 
>>  Stijn
>> 
>> 
>> 
>>> 
>>>>   Second does apply cleanly.
>>>> 
>>>>   Cheers
>>>> 
>>>>   Stijn
>>>> 
> [snip]
> 
> --
> TMN
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
Tomasz Maciej Nowak April 27, 2018, 3:18 p.m. | #6
W dniu 26.04.2018 o 20:04, Stijn Segers pisze:
> Op di, 24 apr 2018 om 10:18 , schreef Tomasz Maciej Nowak <tomek_n@o2.pl>:
>> W dniu 24.04.2018 o 22:00, Stijn Segers pisze:
>> [snip]
>>>>>
>>>>>   I'm not sure what's going wrong here, I'm on a clean master tree but your first patch does not apply:
>>>>>
>>>>>   $ git am 1.patch
>>>>>   Applying: x86: add amd microcode entries to grub config
>>>>>   error: patch failed: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode:1
>>>>>   error: target/linux/x86/base-files/lib/preinit/02_load_x86_ucode: patch does not apply
>>>>>   error: patch failed: target/linux/x86/image/grub-iso.cfg:10
>>>>>   error: target/linux/x86/image/grub-iso.cfg: patch does not apply
>>>>>   error: patch failed: target/linux/x86/image/grub.cfg:10
>>>>>   error: target/linux/x86/image/grub.cfg: patch does not apply
>>>>>   Patch failed at 0001 x86: add amd microcode entries to grub config
>>>>>   $ ./scripts/getver.sh
>>>>>   r6755-d089a5d773
>>>>>
>>>>
>>>>  Hi.
>>>>
>>>>  I did wrongly spell myself out instead of "This series needs to be applied on top of 'intel-microcode: load as early as possible' series." it should be: "This series needs to be applied after 'intel-microcode: load as early as possible' series.". Sorry about it.
>>>
>>>  Nope - turns out I was too quick, my apologies :-(. I merely looked at your first mail that actually had a patch for AMD and not at the one preceding it (which stated I needed to apply the Intel series first). Applied cleanly. How do I check whether it's functional? I grepped dmesg for AMD or ucode, but nothing shows. Logread doesn't work at all (but I reckon that's unrelated).
>>
>> You should grep -i for "microcode", it should say something like: "microcode updated early ..." probably on first line in kernel log.
>>
>> Strange thing is that logread doesn't work, but I don't know what's causing this.
> 
> Hi Thomas,
> 
> I just booted OpenWrt off my USB stick, grepping for microcode returned this:
> 
> [    2.038790] microcode: CPU0: patch_level=0x08001129
> [    2.043782] microcode: CPU1: patch_level=0x08001129
> [    2.114395] microcode: CPU2: patch_level=0x08001129
> [    2.119391] microcode: CPU3: patch_level=0x08001129
> [    2.124390] microcode: CPU4: patch_level=0x08001129
> [    2.129382] microcode: CPU5: patch_level=0x08001129
> [    2.134512] microcode: CPU6: patch_level=0x08001129
> [    2.139498] microcode: CPU7: patch_level=0x08001129
> [    2.144491] microcode: Microcode Update Driver: v2.2.
> 
> Does that help you any? Tested on a Ryzen 1800X.

Maybe Your BIOS already provides updated microcode. See this:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/cpu/microcode/amd.c#n801
for how the message should look like.

Can You show kernel messages when the microcode is not loaded (remove the lines in grub config) and kernel messages for the current OpenWrt snapshot with arm64-microcode package installed?

> 
> I reckon logread not working might have to do with my using the combined-ext4 image, /tmp is kinda broken as well.
> 
> Cheers
> 
> Stijn
>>
>>
>>>
>>>  Dmesg does say full retpoline support has been enabled, but unless I'm mistaken that was a compiler feature, not something that could be solved with microcode alone>
>>>  Cheers
>>>
>>>  Stijn
>>>
>>>
>>>
>>>>
>>>>>   Second does apply cleanly.
>>>>>
>>>>>   Cheers
>>>>>
>>>>>   Stijn
>>>>>
>> [snip]
>>
>> -- 
>> TMN
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev
>

Patch

diff --git a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
deleted file mode 100644
index d3a23e24b2..0000000000
--- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
+++ /dev/null
@@ -1,12 +0,0 @@ 
-#!/bin/sh
-# Copyright (C) 2018 OpenWrt.org
-
-do_load_x86_ucode() {
-	if grep -q AuthenticAMD /proc/cpuinfo; then
-		if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
-			echo 1 > /sys/devices/system/cpu/microcode/reload
-		fi
-	fi
-}
-
-boot_hook_add preinit_main do_load_x86_ucode
diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg
index 30b587bd1c..5a2d67b7b3 100644
--- a/target/linux/x86/image/grub-iso.cfg
+++ b/target/linux/x86/image/grub-iso.cfg
@@ -10,4 +10,7 @@  menuentry "OpenWrt" {
 	if [ -e /boot/intel-ucode.img ]; then
 		initrd /boot/intel-ucode.img
 	fi
+	if [ -e /boot/amd-ucode.img ]; then
+		initrd /boot/amd-ucode.img
+	fi
 }
diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub.cfg
index dde24b95ce..caf38ec2c4 100644
--- a/target/linux/x86/image/grub.cfg
+++ b/target/linux/x86/image/grub.cfg
@@ -10,6 +10,9 @@  menuentry "OpenWrt" {
 	if [ -e /boot/intel-ucode.img ]; then
 		initrd /boot/intel-ucode.img
 	fi
+	if [ -e /boot/amd-ucode.img ]; then
+		initrd /boot/amd-ucode.img
+	fi
 }
 menuentry "OpenWrt (failsafe)" {
 	linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd