* yhlu yinghailu@gmail.com [050804 23:23]:
I just look at stefan's code, it looks good. it only missed dsdt table creating...
Yepp. It does not do DSDT, since I created the APIC entries while the system is running, by detecting the devices. The DSDT is compiled byte code, so since we probably don't want to cope with creating it during runtime, we will have to provide a much more complete hardware description in Config.lb so we can create ASL source code.
And lots of things are hand crafted (Power Management tables). I bet with a little more ACPI knowledge we can generate them from nice looking, easily readable config files.
I'm not sure why we need IRQ overrides, it doesn't really seem to make a difference in Linux.
SRAT?
SRAT is not there either.. IIRC the problem was that the LinuxBIOS table does not hold a description of which memory belongs to which CPU, but rather linear chunks, which was why I didn't do it.
Stefan