DragonFly kernel List (threaded) for 2009-07
DragonFly BSD
DragonFly kernel List (threaded) for 2009-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: PCI code from FreeBSD


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Fri, 3 Jul 2009 09:50:38 +0800

On Fri, Jul 3, 2009 at 2:01 AM, Matthew
Dillon<dillon@apollo.backplane.com> 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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]