On Fri, Jul 3, 2009 at 2:01 AM, Matthew Dillon<[email protected]> wrote: > > :Yep. All the ACPI-related work is here: > : > : http://github.com/polachok/dragonflybsd/tree/acpi2 > : > :See dmesg attached for example.
It shows ICU works. > > Ok, how does this integrate with the APIC_IO kernel config > option verses not having it? Will not having APIC_IO still > back-off to just using the BIOS intr defaults for the > ICU (8259)? I think before bringing the ACPI code, we have to change our APIC interrupt handling code: FreeBSD uses ACPI GSI (ACPI3.0a, page120) concept directly (I think they apply it to the MP table too). So more than 24 idt vectors may be used, if, for example, there are two 24pin I/O APICs. As far as I understand our apic_abi.c, we only support 24 idt vectors; and the gd_[if]pending limit us to 32 vectors. Before we could sort that out or at least introduce another mapping layer, bringing in ACPI routing code from FreeBSD directly will cause trouble, IMHO. As about the new PCI code, I think we could bring it, but to compat with our APIC_IO, we probably need to put back the old APIC_IO stuffs (e.g. config I/O APIC pins during pci_cfgread(intline)) Best Regards, sephe -- Live Free or Die
