Re: [LEDE-DEV] [PATCH 2/3] x86: add intel microcode entries to grub config
W dniu 09.04.2018 o 21:00, Philip Prindeville pisze: Inline. Has this been tested with UEFI? No, I don't have any UEFI system which can be employed for testing. On Apr 3, 2018, at 7:13 AM, Tomasz Maciej Nowak wrote: Create initrd enries for x86 images, that'll load intel microcode as early as possible. Also restrict the late load of microcode to AMD processors. Signed-off-by: Tomasz Maciej Nowak --- target/linux/x86/base-files/lib/preinit/02_load_x86_ucode | 6 -- target/linux/x86/image/Makefile | 4 ++-- target/linux/x86/image/grub-iso.cfg | 3 +++ target/linux/x86/image/grub.cfg | 3 +++ 4 files changed, 12 insertions(+), 4 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 index fb309c75c1..68ebdf8651 100644 --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode +++ b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode @@ -2,8 +2,10 @@ # Copyright (C) 2018 OpenWrt.org do_load_x86_ucode() { - if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then - echo 1 > /sys/devices/system/cpu/microcode/reload + if [ "$(grep -c AuthenticAMD /proc/cpuinfo)" -gt "0" ]; then Way too complicated. Try: if grep -q AuthenticAMD /proc/cpuinfo; then instead. -q inhibits output, and instead you get true for having matches, and false for no matches. Thanks, will change in v2. + if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then + echo 1 > /sys/devices/system/cpu/microcode/reload + fi fi } diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 8a3cb327e3..a05f4babd9 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -9,8 +9,8 @@ include $(INCLUDE_DIR)/image.mk export PATH=$(TARGET_PATH):/sbin -GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga -GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga +GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial test vga +GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial test vga What is “test” in this case? GRUB module for shell-like tests, used in grub-iso.cfg and grub-cfg see below. GRUB_TERMINALS = GRUB_SERIAL_CONFIG = GRUB_TERMINAL_CONFIG = diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg index 3d47a95a4b..30b587bd1c 100644 --- a/target/linux/x86/image/grub-iso.cfg +++ b/target/linux/x86/image/grub-iso.cfg @@ -7,4 +7,7 @@ set root='(cd)' menuentry "OpenWrt" { linux /boot/vmlinuz @CMDLINE@ noinitrd + if [ -e /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 9ec6b2d39c..dde24b95ce 100644 --- a/target/linux/x86/image/grub.cfg +++ b/target/linux/x86/image/grub.cfg @@ -7,6 +7,9 @@ set root='(@ROOT@)' menuentry "OpenWrt" { linux /boot/vmlinuz @CMDLINE@ noinitrd + if [ -e /boot/intel-ucode.img ]; then + initrd /boot/intel-ucode.img + fi } menuentry "OpenWrt (failsafe)" { linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd -- 2.16.3 Thank You for the review. -- TMN ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/3] x86: add intel microcode entries to grub config
Inline. Has this been tested with UEFI? > On Apr 3, 2018, at 7:13 AM, Tomasz Maciej Nowak wrote: > > Create initrd enries for x86 images, that'll load intel microcode as > early as possible. Also restrict the late load of microcode to AMD > processors. > > Signed-off-by: Tomasz Maciej Nowak > --- > target/linux/x86/base-files/lib/preinit/02_load_x86_ucode | 6 -- > target/linux/x86/image/Makefile | 4 ++-- > target/linux/x86/image/grub-iso.cfg | 3 +++ > target/linux/x86/image/grub.cfg | 3 +++ > 4 files changed, 12 insertions(+), 4 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 > index fb309c75c1..68ebdf8651 100644 > --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode > +++ b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode > @@ -2,8 +2,10 @@ > # Copyright (C) 2018 OpenWrt.org > > do_load_x86_ucode() { > - if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then > - echo 1 > /sys/devices/system/cpu/microcode/reload > + if [ "$(grep -c AuthenticAMD /proc/cpuinfo)" -gt "0" ]; then Way too complicated. Try: if grep -q AuthenticAMD /proc/cpuinfo; then instead. -q inhibits output, and instead you get true for having matches, and false for no matches. > + if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then > + echo 1 > /sys/devices/system/cpu/microcode/reload > + fi > fi > } > > diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile > index 8a3cb327e3..a05f4babd9 100644 > --- a/target/linux/x86/image/Makefile > +++ b/target/linux/x86/image/Makefile > @@ -9,8 +9,8 @@ include $(INCLUDE_DIR)/image.mk > > export PATH=$(TARGET_PATH):/sbin > > -GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos > reboot serial vga > -GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls > part_msdos reboot serial vga > +GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos > reboot serial test vga > +GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls > part_msdos reboot serial test vga What is “test” in this case? > GRUB_TERMINALS = > GRUB_SERIAL_CONFIG = > GRUB_TERMINAL_CONFIG = > diff --git a/target/linux/x86/image/grub-iso.cfg > b/target/linux/x86/image/grub-iso.cfg > index 3d47a95a4b..30b587bd1c 100644 > --- a/target/linux/x86/image/grub-iso.cfg > +++ b/target/linux/x86/image/grub-iso.cfg > @@ -7,4 +7,7 @@ set root='(cd)' > > menuentry "OpenWrt" { > linux /boot/vmlinuz @CMDLINE@ noinitrd > + if [ -e /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 9ec6b2d39c..dde24b95ce 100644 > --- a/target/linux/x86/image/grub.cfg > +++ b/target/linux/x86/image/grub.cfg > @@ -7,6 +7,9 @@ set root='(@ROOT@)' > > menuentry "OpenWrt" { > linux /boot/vmlinuz @CMDLINE@ noinitrd > + if [ -e /boot/intel-ucode.img ]; then > + initrd /boot/intel-ucode.img > + fi > } > menuentry "OpenWrt (failsafe)" { > linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd > -- > 2.16.3 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev