On Sun, Apr 21, 2013 at 08:39:41PM -0400, Kevin O'Connor wrote:
On Sun, Apr 21, 2013 at 11:41:48PM +0300, Michael S. Tsirkin wrote:
Okay I'm pretty close to posting some patches that advance this project further, but wanted to check something beforehand: there are several tables that point to other tables (for example: FADT points to DSDT). What I did is provide a list of fixups such that bios can patch in pointers without any need to understand what's what. Thoughts?
Great!
For the RSDP, RSDT, and FADT I think SeaBIOS should just update those tables to set the pointers within them and then recalculate the checksum. I don't think anything complex is needed - it's easy for SeaBIOS to recognize those special tables and modify them.
-Kevin
True, that's simple enough. My worry is we can add more such tables. For example, we can decide to switch to XSDT in the future. If you look at the latest ACPI spec, there are tons of pointer tables not implemented in seabios. If we need to add support in seabios as well as qemu for each of them, this will kind of defeat the purpose.