[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] How many patches are missing in upstream Linux?





Am 12.03.14 09:20, schrieb Jan Beulich:
On 12.03.14 at 02:00, Atom2 <ariel.atom2@xxxxxxxxxx> wrote:
Now to the bad news: The update of the microcode does not work if I use
ucode=scan - and that's regardless of whether I include just the small
10k file for my CPU into the GenuineIntel.bin file or the complete
microcode for all Inter CPUs. The microcode of my CPU stays at 0x28
whereas with ucode=-1 and a separate binary microcode blob (in non-cpio
format) it gets updated to 0x29.

I don't think that it is linked to CONFIG_MICROCODE_EARLY not being set
because as far as I understand linux would not be involved in the update
as this is done by xen. Or am I wrong here?

And obviously without providing the log thereof (with "loglvl=all" in
place) there's quite likely no way we can find out what's going
wrong. If you have trouble setting up the serial console, yet the
system is coming up fine (which it looks like it is), "xl dmesg" right
after boot completed will do as good a job in obtaining the log.
Thats's a fair comment, but despite not having mentioned that (and I appologize for not having been clear about that) I did look at xl dmesg when the microcode update did not work and there were no error messages.

The relevant differences (compared with sdiff -s -l dmesg1 dmesg2 with output split out seperately for the left side [dmesg1 - that's the one with the separate payload "module'] and the right side [dmesg2 - that's the one with the payload prepended to the initrd] due to width constraints) are as follows:

dmesg1 - that's the one where the update works
(XEN) Command line: placeholder ucode=-1 vga=gfx-1024x768x32 i915.mod | (XEN) Detected 2394.634 MHz processor. | (XEN) microcode: CPU0 updated from revision 0x28 to 0x29, date = 2013 <
(XEN) microcode: CPU2 updated from revision 0x28 to 0x29, date = 2013 <
(XEN) microcode: CPU6 updated from revision 0x28 to 0x29, date = 2013 <
(XEN) microcode: CPU5 updated from revision 0x28 to 0x29, date = 2013 <
(XEN) Dom0 alloc.: 0000000800000000->0000000804000000 (1030164 pag | (XEN) Init. ramdisk: 000000081de11000->000000081e5fcc00 | (XEN) Init. ramdisk: ffffffff81e00000->ffffffff825ebc00 | (XEN) Phys-Mach map: ffffffff825ec000->ffffffff82dec000 | (XEN) Start info: ffffffff82dec000->ffffffff82dec4b4 | (XEN) Page tables: ffffffff82ded000->ffffffff82e08000 | (XEN) Boot stack: ffffffff82e08000->ffffffff82e09000 | (XEN) TOTAL: ffffffff80000000->ffffffff83000000 |

dmesg2 - that's the one where the update doesn't work
| (XEN) Command line: placeholder ucode=scan vga=gfx-1024x768x32 i915.m
| (XEN) Detected 2394.643 MHz processor.
<
<
<
<
| (XEN)  Dom0 alloc.:   0000000800000000->0000000804000000 (1031119 pag
| (XEN)  Init. ramdisk: 000000081e1cf000->000000081e5ff580
| (XEN)  Init. ramdisk: ffffffff81e00000->ffffffff82230580
| (XEN)  Phys-Mach map: ffffffff82231000->ffffffff82a31000
| (XEN)  Start info:    ffffffff82a31000->ffffffff82a314b4
| (XEN)  Page tables:   ffffffff82a32000->ffffffff82a4b000
| (XEN)  Boot stack:    ffffffff82a4b000->ffffffff82a4c000
| (XEN)  TOTAL:         ffffffff80000000->ffffffff82c00000

So as you can see there's not much relevant difference other than the missing messages relating to the microcode update in dmesg2.

Oh, and btw "loglvl=all guest_loglvl=all" was set in grub2 for both boot sequences. For the second boot (dmesg2) the binary blob module line was manually removed using grub2's 'e' command and at the same time the file name in the remaining module line changed to point to the initrd with the prepended microcode cpio archive. The change to the ucode parameter is even visible in the output above.

And finally to also rule out that the changed initrd with the payload prepended does not contain the microcode blob cpio, there's the output of
# cpio -itv < /boot/initrd-3.11.7-hardened-r1-ucode.gz
drwxr-xr-x 2 root root      0 Mar 12 01:28 kernel
drwxr-xr-x 2 root root      0 Mar 12 01:28 kernel/x86
drwxr-xr-x 2 root root      0 Mar 12 01:28 kernel/x86/microcode
-rw-r--r-- 1 root root 600064 Mar 12 01:28 kernel/x86/microcode/GenuineIntel.bin

If there's anything else, just tell me what you require.

Thanks Atom2

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.