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

Gerd Hoffmann kraxel at redhat.com
Tue Apr 22 16:04:08 CEST 2014

On Di, 2014-04-22 at 09:01 -0400, Gabriel L. Somlo wrote:
> On Tue, Apr 22, 2014 at 08:42:29AM +0200, Gerd Hoffmann wrote:
> > acpi is pretty much in the same boat ...
> > 
> > /me looks ...
> > 
> > Ah, there is a notifier where you (hopefully) can hook in easily:
> > pc_guest_info_machine_done (see hw/i386/pc.c).
> Not sure this can help me though. The order in which things happen is:
>   1. smbios_entry_add() gets called for every "-smbios file=..." and
>      "-smbios type=..." command line argument
>         a. "type=..." is OK, we just remember the values for later
>         b. "file=..." less so, because we have to load the blobs into
>            *something*.

Remember the filenames for later ...

>  In my v7 patch set I decided to load the blobs
>            into *both* the legacy and new-fangled aggregate tables.
>   2. smbios_set_defaults() is called
>         - by now we *already* know the machine version we have, so
>           we get to free the table we now know we won't need
>           (aggregate if we're on <= v2.0, legacy if 2.1 or newer,
>            see 1.b. above)

... and load the blobs here?

>   3. smbios_get_table* functions are called and the various resulting
>      blobs are inserted into fw_cfg.

... or here?

>   4. pc_guest_info_machine_done() gets called after all of the above.
>         - placing a callback here is unlikely to be helpful, unless
>           I'm missing something.

Indeed.  /me was looking for a place surely late enough in init order.

I think acpi needs this because there are also dependencies on devices
added via -device, so doing acpi_setup in QEMUMachine->init() doesn't
work.  For smbios it doesn't make a difference whenever fw_cfg is filled
in that notifier or in QEMUMachine->init().


More information about the SeaBIOS mailing list