Hi,
Actually, this is a very good example. In more modern boxes like Flex, there's a PCI-Express backplane that all of the nodes are connected to with a common set of slots for all nodes. You can configure in firmware how the slots map to each node.
Well, we don't configure the dynamic things we have today (s3/s4 enable, numa nodes, pci hotplug, ...) using some firmware setup utility, but using qemu command line switches.
So we have no reason to generate acpi tables in the firmware, we can equally well do it in qemu.
The advantages of doing it in qemu:
(1) We don't have to create/extend fw_cfg interfaces to pass all sorts of config info. (2) It decouples qemu and seabios; we don't have to touch seabios for every new feature which needs something acpi-ish. For example we could have done pvpanic support without touching seabios. (3) We don't have to duplicate the logic which compiles acpi tables from fw_cfg in seabios & ovmf.
The advantages of doing it in seabios:
(*) Your list here, I don't see any.
cheers, Gerd