I didn't understand what was going on in tables.c, and it seemed a little fragile.
These three patches try to help that out. I would only recommend the first two, but all three is closer to maintaining the functionality we had.
When you're reviewing, it will be helpful to note that rom_tables_* == LOW_TABLES, high_tables_* == HIGH_TABLES, and low_tables== coreboot-specific very low tables.
These patches are abuild tested and boot tested on Tyan s2892, qemu, and SimNOW.
tables.diff: Add comments. Remove ACPI-specific code. Align low_table_end after gdt (so it matches high_table_end). Correct "New low_table_end..." line in coreboot_table.c.
high_low.diff: Factor out common code for writing tables.
both.diff: If we need to have the tables written both times we can do something like this.
Signed-off-by: Myles Watson mylesgw@gmail.com Thanks, Myles