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).
Comments?
cheers, Gerd