xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Atom2 <ariel.atom2@web2web.at>
To: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jan Beulich <JBeulich@suse.com>,
	david.vrabel@citrix.com, boris.ostrovsky@oracle.com,
	daniel.kiper@oracle.com
Cc: Yang Z Zhang <yang.z.zhang@intel.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: How many patches are missing in upstream Linux?
Date: Tue, 11 Mar 2014 18:38:52 +0100	[thread overview]
Message-ID: <531F4A2C.7020209@web2web.at> (raw)
In-Reply-To: <531E26DD.5030807@goop.org>



Am 10.03.14 21:55, schrieb Jeremy Fitzhardinge:
[snip]
>> The maintainer is being <insert your own opinion here>:
>>   - runtime microcode. What I had been told was to use the 'early
>>     microcode' mechanism - which is now implemented and Xen can also scan
>>     the initramfs to extract the microcode payload and apply it.
>
> I've never got that to work, but ucode=-1 with a microcode.dat multiboot
> modules works pretty well.
>
>>     But it misses the important part of server longevity in that the
>>     host might be running for years and the microcode might need to be
>>     updated during that time. bpetkov wasn't too thrilled about the
>>     runtime microcode and I hadn't come back to this yet to figure out
>>     what are his exact technical misgivings.
>
> I think, in the end, he (and Ingo) were advocating just doing a full
> emulation of the Intel/AMD update mechanism in the set/getmsr PV
> callbacks. Which is doable but... well, not pretty. Maybe a new attempt
> with get a new reception.

I can add my experience from the perspective of a user trying to get 
early microcode loading to work with my system:

First of all I can confirm that it sort of works - but as Jeremy has 
pointed out, there seem to be issues with including it into the 
initramfs. After many unsuccessful tries I also only got it to work when 
I used a separate entry in multiboot (grub2) which referred to the blob 
for uploading the payload to the CPU.

As soon as I had the microcode integrated into the initramfs as 
described at 
http://lists.xen.org/archives/html/xen-devel/2013-09/msg02902.html the 
system would no longer boot with a message stating that it could not 
find the root filesystem - I assume that was at the time when the 
initramfs was about to be unpacked and loaded (if I recall correctly 
there were no messages from the initramfs on screen). Therefore I 
couldn't verify whether the microcode was actually lodaded before that.

My feeling at that time was that the unpacking of the initramfs had 
failed and it was probably more a linux issue rather than a XEN issue - 
albeit the concatenated file which per the link above should be created by

"cat ucode.cpio /boot/initrd-3.5.0.img >/boot/initrd-3.5.0.ucode.img"

does not resemble a valid cpio archive any longer (you also can't work 
with it on the command line - e.g. list its content). I assume that 
though the kernel expects a valid cpio format file and therefore is 
unable to unpack and subsequently fails.

But in any case, with the additional file in multiboot it works 
flawlessly. The only catch is that the file distributed by Intel (the 
microcode.dat which is a text file) has to be converted inot a binary 
file (I also stripped it down to only contain the parts necessary for my 
CPU, but I don't know whether that's strictly necessary). And it must 
_NOT_ be a cpio archive in that case.

Searching google there are a few tools available to convert the Intel 
distributed microcode.dat to binary format and reduce it to only the 
parts required for a specific CPU.

Regards Atom2

  parent reply	other threads:[~2014-03-11 17:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06  5:21 How many patches are missing in upstream Linux? Zhang, Yang Z
2014-03-06 10:38 ` Jan Beulich
2014-03-06 13:47   ` Fabio Fantoni
2014-03-06 19:26   ` Konrad Rzeszutek Wilk
2014-03-06 19:36     ` David Vrabel
2014-03-06 19:39       ` Konrad Rzeszutek Wilk
2014-03-07  1:35         ` Zhang, Yang Z
2014-03-07  1:49     ` Zhang, Yang Z
2014-03-07  9:16     ` Jan Beulich
2014-03-10 20:55     ` Jeremy Fitzhardinge
2014-03-11 15:04       ` Konrad Rzeszutek Wilk
2014-03-11 16:15         ` Jan Beulich
2014-03-11 17:38           ` Konrad Rzeszutek Wilk
2014-03-11 17:38       ` Atom2 [this message]
2014-03-11 17:53         ` Konrad Rzeszutek Wilk
2014-03-11 18:35           ` Atom2
2014-03-11 20:33             ` Konrad Rzeszutek Wilk
2014-03-12  1:00               ` Atom2
2014-03-12  8:20                 ` Jan Beulich
2014-03-12 11:14                   ` Atom2
2014-03-12 11:42                     ` Jan Beulich
2014-03-12 11:58                       ` Atom2
2014-03-12 13:50                         ` Konrad Rzeszutek Wilk
2014-03-12 15:09                           ` Atom2
2014-03-12 16:30                             ` Konrad Rzeszutek Wilk
2014-03-11 13:32     ` Ian Campbell
2014-03-11 15:09       ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=531F4A2C.7020209@web2web.at \
    --to=ariel.atom2@web2web.at \
    --cc=JBeulich@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=daniel.kiper@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=jeremy@goop.org \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yang.z.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).