Samuel, >> I have a feeling we are going to need all of acpica incorporated into >> gnumach eventually, >> because you need a full ACPI parser for learning the PCI interrupts and >> proper shutdown mechanism. > > Can't the parsing be done in userland (like we do for shutdown), and > just hand over the information to the kernel?
Shutdown mechanism can be done this way, yes - there is plenty of time to parse the tables in userspace before shutdown. However, I believe interrupt configuration of the IOAPIC(s) and activation of the other cores needs to be done very early, even before the first disk interrupt occurs. How do you envisage the booting of multiple servers to be parallelised over multiple processors if there is no root filesystem and gnumach knows nothing about the MADT/APIC table? It seems much more appropriate and easier to read the in-memory ACPI tables at a fixed memory address (eg. ESCD 0xe0000) in gnumach and bootstrap the system from an SMP enabled kernel so the kernel already knows how to drive interrupts and timers before any other servers launch. Are you suggesting to create an interrupt/timer server? Wouldn't it be too slow? Damien