Re: Linux 3.18.2 / xen 4.4.1 dom0 - microcode oops

From: Boris Ostrovsky
Date: Thu Jan 22 2015 - 13:09:56 EST


On 01/22/2015 12:58 PM, Borislav Petkov wrote:
On Thu, Jan 22, 2015 at 05:43:15PM +0000, James Dingwall wrote:
This patch solves it for me on my dom0 with 3.18.3, now there is
nothing printed at all from the microcode driver which doesn't seem
surprising given where the return is.
Yap, xen does/will update microcode differently...

I'll check it on bare metal at the next opportunity but from my
understanding of what is happening there I don't see that it should
have any impact at all.
Yeah, it shouldn't have any effect on baremetal in the sense that it
should load properly there. And it is a fix for baremetal too, as Boris
pointed out.

I'm still curious as to why does it say this on your machine:

[ 176.855832] microcode: CPU0 sig=0x10676, pf=0x1, revision=0x60c
[ 176.855844] microcode: CPU0 update to revision 0x60f failed


If this was on dom0 (i.e a Xen PV guest) then it's understandable since in that case MSR writes would have been trapped by the hypervisor and not processed any further.

James can probably see in the hypervisor log ('xl dmesg') something like

(XEN) traps.c:2579:d0v0 Domain attempted WRMSR 0000000000000079 from 0x0000000000000000 to 0x0000000000000001.

(MSR reads should proceed fine though).

-boris


?

This basically says that we do try to update with the patch but the
hardware doesn't accept it.

Is this new? Did it ever update microcode properly?

Where do you get the microcode for that machine?

Can you run the scriptlet below as root and send me the results? You'd
need the msr-tools package and the msr.ko kernel module loaded. Ask if
you need help.

Also, please send me a full dmesg with "ignore_loglevel log_buf_len=16M
debug" on the kernel command line, privately is fine too.

Thanks.

--
#!/bin/bash

echo "/proc/cpuinfo: "
cat /proc/cpuinfo

echo; echo "dmesg: "
dmesg | grep -i microcode
modprobe msr 2>/dev/null

echo ; echo "MSRs: (0x8b) "
rdmsr --all 0x8b
--


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/