All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xenproject.org, david.vrabel@citrix.com,
	jbeulich@suse.com
Subject: Re: [PATCH] microcode: Scan the multiboot payloads for cpio format microcode blob. (v3).
Date: Wed, 25 Sep 2013 15:39:44 -0700	[thread overview]
Message-ID: <52436630.2040106@goop.org> (raw)
In-Reply-To: <20130925200314.GA8230@phenom.dumpdata.com>

On 09/25/2013 01:03 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, Sep 25, 2013 at 12:36:01PM -0700, Jeremy Fitzhardinge wrote:
>> On 09/25/2013 05:57 AM, Konrad Rzeszutek Wilk wrote:
>>> The way to use this is by the 'ucode' parameter. It has now two meanings:
>>>   [<index>|initrd]
>>>
>>> Which CANNOT be used together. By default this auto scanning is turned off
>>> as Jan pointed out that: "Xen otoh has to be careful not to
>>> mis-interpret a blob passed to a non-Linux Dom0 as a CPIO. How
>>> good the guarding against this is in the code I'll have to check".
>>> [...]
>>> There is also the question whether the parameter should be 'cpio','initrd'
>>> or 'scan'. As in the future the extraction of the payload could be from
>>> a different format than the cpio (say a microcode blob with an magic
>>> string at the start). The author believes that at that time the logic
>>> to scan the mulitboot payloads can be expanded to also scan formats other
>>> than cpio format.
>> Why treat a microcode.bin and cpio differently? Aren't they both just
>> file formats that can be parsed to (possibly) extract microcode update
>> info? That being so, why change the ucode parameter? Wouldn't you just
> Unfortunatly no. The blobs are blobs that have no signature unless
> you are an microcode driver and know what to look for.

Right, but that's what we're talking about here isn't it?

> The cpio format provides a means of identifying (the name of the file
> in the archive matches a specific string) the microcode blob.

Yep.

>> set it to ucode=N, where N is the module index either a microcode.bin or
>> cpio or anything else multiboot module?
> That is an option too. It would mean re-organizing the code more as
> the existing 'index' ucode grabs the multiboot payload and does not
> allow the Linux kernel access to it. Would have to relax that somehow.
>
> Lastly with the cpio format the microcode blob can be in initframfs.cpio
> or in a seperate cpio archive (so two cpio archives along with Linux kernel).
>
> Besides that, from the GRUB perspective it makes it much easier to support
> as the grub tools can just add 'ucode=scan' and not worry about indexing
> in the right payload.
>
> Or that is me being lazy. I would rather have this thing be automatic and
> be on by default and scan all the images and pluck the data out. No
> dependency on anything at that point (which is what Linux does right now).

Something completely automatic would be ideal, I agree. I just went
through the process of setting up ucode with the microcode.bin blob, and
while its straightforward I suspect some update will break it
inadventently, so something that is more in line with what Linux itself
wants to do is good.

It just occurred to me; I haven't dug into the existing or new code to
see whether I'm really making things more complex.

    J


>
>>     J
>>
>>
>>> These patches are also available at:
>>>
>>>   git://xenbits.xen.org/people/konradwilk/xen.git microcode.v3
>>>
>>>  docs/misc/xen-command-line.markdown |  14 ++-
>>>  xen/arch/x86/microcode.c            | 177 ++++++++++++++++++++++++++++++++----
>>>  xen/common/Makefile                 |   2 +-
>>>  xen/common/earlycpio.c              | 151 ++++++++++++++++++++++++++++++
>>>  xen/include/xen/earlycpio.h         |  14 +++
>>>  5 files changed, 337 insertions(+), 21 deletions(-)
>>>
>>> Konrad Rzeszutek Wilk (2):
>>>       microcode: Scan the initramfs payload for microcode blob.
>>>       microcode: Check whether the microcode is correct.
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>>

  reply	other threads:[~2013-09-25 22:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-25 12:57 [PATCH] microcode: Scan the multiboot payloads for cpio format microcode blob. (v3) Konrad Rzeszutek Wilk
2013-09-25 12:57 ` [PATCH 1/2] microcode: Scan the initramfs payload for microcode blob Konrad Rzeszutek Wilk
2013-09-25 13:09   ` Andrew Cooper
2013-09-25 14:11     ` Konrad Rzeszutek Wilk
2013-09-25 14:51       ` Andrew Cooper
2013-09-25 12:57 ` [PATCH 2/2] microcode: Check whether the microcode is correct Konrad Rzeszutek Wilk
2013-09-25 13:13   ` Andrew Cooper
2013-09-25 13:59     ` Konrad Rzeszutek Wilk
2013-09-25 14:10       ` Andrew Cooper
2013-09-25 19:36 ` [PATCH] microcode: Scan the multiboot payloads for cpio format microcode blob. (v3) Jeremy Fitzhardinge
2013-09-25 20:03   ` Konrad Rzeszutek Wilk
2013-09-25 22:39     ` Jeremy Fitzhardinge [this message]
2013-09-26 11:30       ` 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=52436630.2040106@goop.org \
    --to=jeremy@goop.org \
    --cc=david.vrabel@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xenproject.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.