On Fri, Mar 29, 2024 at 10:19:09AM +0000, Bernhard Beschow wrote:
In theory you could pass `-M acpi=off` to not instantiate the PIIX4
ACPI function, essentially turning the Frankenstein-PIIX4 SB into a
PIIX3. However, this also removes SMI registers used by SeaBIOS to
handle SMM setup which may create unwanted side effects.
SeaBIOS will simply not use SMM in that case.
On a real PIIX3, these registers are located in the ISA function. I
wonder if it made sense to implement that for greater compatibility.
What do you think? Gerd, what do you think w.r.t. SeaBIOS?
Well, SMM support isn't that important I think. It was introduced to
make switches to 32-bit mode more robust. Entering SMM mode stores the
*complete* x86 processor state (which is impossible to do in other
ways), so with SMM it's possible to switch back into whatever state the
processor has been before entering 32-bit mode.
Some storage drivers (virtio, ahci) switch into 32-bit mode so they can
reach the mmio registers they need. Some storage drivers (ide) don't,
in that case SMM doesn't change anything.
I'm not aware of any problems actually fixed by adding SMM support in
seabios. I suspect the guest OS-es new enough to support ahci or virtio
are also new enough to not not call BIOS interfaces from non-standard
processor modes.
take care,
Gerd