Re: [PATCH 2/2] x86, microcode: Make reload interface per system

From: Borislav Petkov
Date: Wed Jun 20 2012 - 06:27:43 EST


On Wed, Jun 20, 2012 at 12:22:00PM +0200, Peter Zijlstra wrote:
> On Wed, 2012-06-20 at 12:19 +0200, Borislav Petkov wrote:
> > On Wed, Jun 20, 2012 at 12:08:51PM +0200, Peter Zijlstra wrote:
> > > On Wed, 2012-06-20 at 11:56 +0200, Borislav Petkov wrote:
> > > > sprintf(name, "intel-ucode/%02x-%02x-%02x",
> > > > c->x86, c->x86_model, c->x86_mask);
> > > >
> > > >
> > >
> > > but but but, the ucode image actually contains stuff for multiple
> > > things.. so I have to like rename it to match the actual cpu in the
> > > machine?
> > >
> > > That seems rather daft..
> > >
> > > awk 'BEGIN { FS=":" } /family/ {fam=$2} /model[^ ]/ {mod=$2} /stepping/
> > > {step=$2} END { printf "intel-ucode/%02x-%02x-%02x\n", fam, mod,
> > > step }' /proc/cpuinfo
> > >
> > > Will get me the right filename, but surely that's not user-friendly at
> > > all...
> >
> > I know, right. Whose idea was it to do it like that I don't know.
> > AFAICT, Intel delivers ucode as a single blob too, so why split it? The
> > driver picks out the right blob anyway.
>
> Right, so since we're mucking about with the whole interface anyway,
> can't we fix this too?

Right,

so you can download Intel ucode from here, for example:

http://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=483&DwnldID=14303

and the binary blob is 1.2 MB unpacked. Which could explain why it is
being split - I can see how loading 1.2 MB from userspace could be a
PITA.

But if we had a script which would split it and we had it in tools/,
then all would be fine, right?

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
--
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/