[SeaBIOS] [PATCH 2/2] accept MADT over fw_cfg

Kevin O'Connor kevin at koconnor.net
Wed Apr 24 02:21:15 CEST 2013


On Tue, Apr 23, 2013 at 11:49:57AM +0300, Michael S. Tsirkin wrote:
> > I know of the following quirks that would have to be handled:
> > 
> > 1 - the RSDP must be in the f-segment (where as all other tables can
> > go into "high" memory).
> > 
> > 2 - the RSDP has a checksum in a different location from the other
> > tables and (with an XSDT) it can have two checksums.
> > 
> > 3 - the RSDP has a pointer to the RSDT (and to the XSDT if present).
> > 
> > 4 - the RSDT (and XSDT if present) has pointers to all the other
> > tables (except RSDP, RSDT, DSDT, and FACS).  The FADT pointer must be
> > first in the list.
> > 
> > 5 - the FADT table has pointers to DSDT and FACS.
> > 
> > 6 - the FACS table must be 64 byte aligned.
> 
> And of course newer ACPI has lots of other pointer quirks,
> I assume you are aware of this.

I haven't had a chance to look through the newer acpi specs, but it's
a shame more of the pointer quirks have been added.

> > So, will a generic scheme really be able to handle all of the above
> > quirks, or will we just be mixing some hardcoded quirks with some
> > generic quirks?  And, will the code to handle the above quirks in a
> > generic fashion be of a higher complexity than simply hard-coding it?
> 
> I wanted to handle checksums and pointers in a generic fashion,
> and allocation rules in a table specific version
> (since I only found two such examples in all of the spec:
> FACS and RSDP). It's not hard to add generic handlers for these two,
> and it's not much more code. You think it's preferable then?

I don't know if it's perferable or not.  I guess one advantage of it
is that the same mechanism could then also be used for smbios,
mptable, and pir.

I think the seabios part of this will be straight forward no matter
which direction is taken.  The real work will be on getting the tables
created in qemu.

-Kevin



More information about the SeaBIOS mailing list