On Tue, Apr 19, 2022 at 11:46:59AM +0200, Gerd Hoffmann wrote:
diff --git a/src/fw/mptable.c b/src/fw/mptable.c index 47385cc..3a7b02f 100644 --- a/src/fw/mptable.c +++ b/src/fw/mptable.c
If you look at the top of that file you'll see the notice:
// DO NOT ADD NEW FEATURES HERE. (See paravirt.c / biostables.c instead.)
The mptable.c file in seabios is no longer modified. If a guest OS needs a different mptable then it will be necessary to extend qemu to pass the desired mptable to seabios (as is done for smbios and acpi).
Maybe its time to think about removing this code? Current state of affairs in qemu is:
# qemu-default -M help Supported machines are: [ ... ] pc-i440fx-2.1 Standard PC (i440FX + PIIX, 1996) pc-i440fx-2.0 Standard PC (i440FX + PIIX, 1996) pc-i440fx-1.7 Standard PC (i440FX + PIIX, 1996) (deprecated) pc-i440fx-1.6 Standard PC (i440FX + PIIX, 1996) (deprecated) pc-i440fx-1.5 Standard PC (i440FX + PIIX, 1996) (deprecated) pc-i440fx-1.4 Standard PC (i440FX + PIIX, 1996) (deprecated) [ ... ]
So qemu plans to remove support for machine types 1.7 and older, this will probably happen later this year in the 7.1 or 7.2 release.
qemu added support for passing acpi tables to the firmware in version 1.7, so the compatibility code is only used for machine types 1.6 and older.
So in a year or so the only purpose the compatibility code will serve is confusing people ...
I know qemu produces the acpi and smbios tables. I wasn't aware it will currently pass in the mptable to seabios. (Nor the PIR table.)
I'm okay with removing support from seabios. As a first step we can change the Kconfig defaults to not produce the tables.
-Kevin