Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#46495 - [linux-lts] enable CONFIG_MICROCODE{,*EARLY} config options

Attached to Project: Arch Linux
Opened by Don Gonzote (gonzote) - Wednesday, 30 September 2015, 14:28 GMT
Last edited by Andreas Radke (AndyRTR) - Thursday, 01 October 2015, 18:07 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Andreas Radke (AndyRTR)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
linux-lts doesn't configure CONFIG_MICROCODE like the core linux package. CONFIG_MICROCODE needs to be compiled into the kernel rather than as a module, and the CONFIG_MICROCODE*EARLY options enabled. Without these options the kernel can't update CPU microcode during boot with the intel-ucode package and the wiki's documented process [1].

This option was explicitly enabled in 3.14.21-2 [2] but reverted during the upgrade to 4.1.7-1 [3] (accidental regression?).


[1] https://wiki.archlinux.org/index.php/Microcode
[2] https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config?h=packages/linux-lts&id=904eaf4ad8dc90cf0b652ce2c7aed48104b7706e
[3] https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config?h=packages/linux-lts&id=f78735032e673045023e2516e595a559655baef3



Additional info:

fails: LTS kernel (4.1.8-1-lts), intel-ucode (20150121-1)

$ cat /proc/cmdline
\boot\vmlinuz-linux-lts ro root=LABEL=root nomodeset initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux-lts.img

$ dmesg | grep microcode
[ 9.023670] microcode: CPU0 sig=0x306a9, pf=0x2, revision=0x12
[ 9.056636] microcode: CPU1 sig=0x306a9, pf=0x2, revision=0x12
[ 9.056669] microcode: CPU2 sig=0x306a9, pf=0x2, revision=0x12
[ 9.056704] microcode: CPU3 sig=0x306a9, pf=0x2, revision=0x12
[ 9.056747] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

$ zcat /proc/config.gz | grep -i microcode
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y




works: Core kernel (4.1.6-1-ARCH), intel-ucode (20150121-1)

$ cat /proc/cmdline
\boot\vmlinuz-linux ro root=LABEL=root nomodeset initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img

$ dmesg | grep microcode
[ 0.000000] microcode: CPU0 microcode updated early to revision 0x1b, date = 2014-05-29
[ 0.115538] microcode: CPU1 microcode updated early to revision 0x1b, date = 2014-05-29
[ 0.135890] microcode: CPU2 microcode updated early to revision 0x1b, date = 2014-05-29
[ 0.156241] microcode: CPU3 microcode updated early to revision 0x1b, date = 2014-05-29
[ 0.345026] microcode: CPU0 sig=0x306a9, pf=0x2, revision=0x1b
[ 0.345031] microcode: CPU1 sig=0x306a9, pf=0x2, revision=0x1b
[ 0.345036] microcode: CPU2 sig=0x306a9, pf=0x2, revision=0x1b
[ 0.345041] microcode: CPU3 sig=0x306a9, pf=0x2, revision=0x1b
[ 0.345076] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

$ zcat /proc/config.gz | grep -i microcode
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_MICROCODE_INTEL_EARLY=y
CONFIG_MICROCODE_AMD_EARLY=y
CONFIG_MICROCODE_EARLY=y



Steps to reproduce:
Reproducing requires an Intel CPU with Install linux-lts, intel-ucore packages. Add initrd=intel-ucore.img to your bootloader (see [1]).
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Thursday, 01 October 2015, 18:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  4.1.9-2

Loading...