[SeaBIOS] [QEMU v6 PATCH 00/17] SMBIOS: build full tables in QEMU
kraxel at redhat.com
Tue Apr 15 10:29:26 CEST 2014
On Mo, 2014-04-14 at 16:54 -0400, Gabriel L. Somlo wrote:
> New in version 6 of the patch set:
> - down to 17 patches (squashed adding spec v2.4 fields
> in together with adding v2.8 fields further down).
> - switching to monolithic aggregate tables plus entry point
> in patch 11/17, right after accomplishing full SeaBIOS
> compatibility (in 10/17).
> - Type 0 (bios info) structure continues to be optional. The BIOS
> is expected to supply its own Type 0 structure unless we force
> one to be provided via the command line.
> On Mon, Apr 14, 2014 at 11:14:08AM +0200, Gerd Hoffmann wrote:
> > I also think we should continue providing the tables one-by-one using
> > the old interface, at least for a transition period, so older seabios
> > versions continue to work.
> Is *this* a hard requirement for merging ? I'm currently brainstorming
> for ways to do this that won't be horrifyingly ugly, but so far everything
> I managed to come up with makes me want to scratch my eyes out :)
Yep, that one is, together with some machine compatibility stuff. The
series is in pretty good shape, and the compatibility stuff is the only
major thing left to sort out.
Now that we have the complete smbios blob generated in qemu, it doesn't
make much sense to pass the tables using the old interface.
So, how about this plan:
Leave the old interface code basically as-is. type0 and type1
individual fields are passed like they are passed today. We don't
change to to pass full tables, and we don't extend that to new table
types. Continue to provide these in parallel to the new interface, for
compatibility with old firmware (and old machine types).
The code to generate complete tables will only be used for
"etc/smbios/smbios-tables". Only machine types for 2.1 + newer will
provide them, so with older machine types seabios will continue to
generate the smbios tables and guest wouldn't notice a difference.
That means to drop patch #6. Patches 4+5+7+8+9+10+11 could be squashed
together (although it is probably better to leave them separate, even
though 4..10 will not have any effect until 11 is applied) and
simplified a bit (don't provide complete tables via old interface).
More information about the SeaBIOS