diff options
-rw-r--r-- | target/linux/x86/base-files/lib/preinit/02_load_x86_ucode | 12 | ||||
-rw-r--r-- | target/linux/x86/image/grub-iso.cfg | 9 | ||||
-rw-r--r-- | target/linux/x86/image/grub.cfg | 9 |
3 files changed, 16 insertions, 14 deletions
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 new file mode 100644 index 0000000000..d3a23e24b2 --- /dev/null +++ b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode @@ -0,0 +1,12 @@ +#!/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 c624cbe0ee..5d128aa3aa 100644 --- a/target/linux/x86/image/grub-iso.cfg +++ b/target/linux/x86/image/grub-iso.cfg @@ -7,12 +7,7 @@ set root='(cd)' menuentry "@TITLE@" { linux /boot/vmlinuz @CMDLINE@ noinitrd - set amd="/boot/amd-ucode.img" - set intel="/boot/intel-ucode.img" - if [ -s "$amd" ]; then - initrd $amd $intel - fi - if [ -s "$intel" ]; then - initrd $intel $amd + if [ -s /boot/intel-ucode.img ]; then + initrd /boot/intel-ucode.img fi } diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub.cfg index 21d719261b..a665686863 100644 --- a/target/linux/x86/image/grub.cfg +++ b/target/linux/x86/image/grub.cfg @@ -7,13 +7,8 @@ set root='(@ROOT@)' menuentry "@TITLE@" { linux /boot/vmlinuz @CMDLINE@ noinitrd - set amd="/boot/amd-ucode.img" - set intel="/boot/intel-ucode.img" - if [ -s "$amd" ]; then - initrd $amd $intel - fi - if [ -s "$intel" ]; then - initrd $intel $amd + if [ -s /boot/intel-ucode.img ]; then + initrd /boot/intel-ucode.img fi } menuentry "@TITLE@ (failsafe)" { |