[SeaBIOS] [QEMU v6 PATCH 00/17] SMBIOS: build full tables in QEMU

Gerd Hoffmann kraxel at redhat.com
Thu Apr 17 10:31:15 CEST 2014

On Mi, 2014-04-16 at 17:02 -0400, Gabriel L. Somlo wrote:
> OK, so I have the "legacy" (field-by-field, types 0 and 1 only) code
> back in, right next to the new aggregate-smbios-table-plus-entrypoint
> code, tested and apparently working fine.
> Before I get carried away with "git rebase", do we still want to go
> through the whole patch sequence of generating aggregate tables
> identical to what SeaBIOS would have (including e.g. type 20), then
> drop type 20 and upgrade to smbios spec v2.8, etc ?
> Since we're keeping the legacy code, I can add in the new code (only
> for machine types >= 2.1) directly as smbios spec v2.8 compliant
> (mainly without adding in generation for type 20, then ripping it
> right back out again).
> This would result in a smaller, cleaner patch set. Any objections ?

IMHO that is fine.

> On Wed, Apr 16, 2014 at 08:41:51AM +0200, Gerd Hoffmann wrote:
> > Global variable, simliar to smbios_type1_defaults.  machine type init
> > code will set it accordingly.  smbios code just does "if
> > (smbios_generate_tables) { ... }" (or however we name this).
> OK, so right now I'm parsing the "version" argument to what is
> currently smbios_set_type1_defaults() (and will become
> smbios_set_defaults() after patching).

No, don't parse stuff please.  Have a look at pc_piix.c, how
smbios_type1_defaults is handled there.  It's true by default, and
pc_compat_1_7 (called for 1.7+older machine types) flips it to false.

We'll add a new variable here, say smbios_generate_table_blob, default
it to true, then flip to false in the (to be added with the 2.1 machine
type) pc_compat_2_0 function.  Same in pc_q35.c.

Then you can simply use the new global variable.


More information about the SeaBIOS mailing list