* Stefan Reinauer stepan@openbios.org [050115 22:07]:
enum { MPTABLE_CPUS, [..] ACPI_COMPLETE_TABLES, } table_t;
and dev::write_tables() would look similar to this:
static void amd8111_write_tables(device_t dev, table_t id) { struct resource *res;
switch (id) { case MPTABLE_BUSSES: [...] break; case MPTABLE_APICS: [...] break; case ACPI_COMPLETE_TABLES: [...] break; case ACPI_APICS: [...] break; default: // all unneeded and unknown table types are ignored. break; }
}
Thinking about Ron's comments we might want to keep the different table types more seperated.
Thus instead of having dev::devops::write_tables() would it be preferable to have several hooks for
1) linuxbios table 2) ACPI tables 3) MP table 4) pirq table
The more complete 1 and 2 become, the less 3 and 4 will be needed. In a perfect world we could choose to stop calling 2-4 and not compile them in. This is nicer if the table generation is more seperated.
Regarding non-x86 systems: We don't want 2-4 on those anyways since no operating system _expects_ they are there. And we definitely don't want to change that.
Stefan