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 :)
Thanks, Gabriel
Gabriel L. Somlo (17): SMBIOS: Rename smbios_set_type1_defaults() for more general use SMBIOS: Use macro to set smbios defaults SMBIOS: Use bitmaps to check for smbios table collisions SMBIOS: Add code to build full smbios tables; build type 2 table SMBIOS: Build full tables for types 0 and 1 SMBIOS: Remove unused code for passing individual fields to bios SMBIOS: Build full type 3 table SMBIOS: Build full type 4 tables SMBIOS: Build full smbios memory tables (type 16, 17, 19, and 20) SMBIOS: Build full tables for type 32 and 127 SMBIOS: Generate aggregate smbios tables, including entry point SMBIOS: Remove SeaBIOS compatibility quirks SMBIOS: Stop including type 20 tables SMBIOS: Use e820 memory map to generate type 19 tables SMBIOS: Update type 3 definition to smbios spec v2.7 SMBIOS: Update type 4 definition to smbios spec v2.6 SMBIOS: Update memory table types (16, 17, and 19) to smbios spec v2.8
hw/i386/pc.c | 35 ++- hw/i386/pc_piix.c | 14 +- hw/i386/pc_q35.c | 10 +- hw/i386/smbios.c | 762 +++++++++++++++++++++++++++++++++++++++-------- include/hw/i386/pc.h | 2 + include/hw/i386/smbios.h | 98 ++++-- 6 files changed, 745 insertions(+), 176 deletions(-)