cvs commit: src/sys/bus/firewire firewire.c fwohci_pci.c src/sys/bus/isa isa_common.c isahint.c pnp.c src/sys/bus/pci pci.c pci_pcib.c pcivar.h src/sys/bus/pci/i386 pcibus.c src/sys/bus/ppbus ppbconf.c src/sys/dev/acpica5 acpi.c acpi_ec.c ...
Matthew Dillon
dillon at apollo.backplane.com
Sat Oct 29 22:40:35 PDT 2005
Hopefully I didn't break anything with this commit. I'm working myself
up to some major work on the interrupt routing code. I am first going
to attempt to see if I can route interrupts at least on the host-bridge
(at the moment my test box can't even do that!), after that I am going
to explore the PCI BIOS a bit (but I expect I'll have to write it off
like everyone else has). Finally I will try to fix the bus scan ordering
and get the ACPI interrupt routing code reintegrated into the system.
I expect ACPI is the only way we're gonna be able to properly route
interrupts across bridges (the conclusion that FreeBSD came to), but I'm
wondering if a hybrid approach will work for PCI devices that are
directly on the host-pci bridge.
In anycase, its messy stuff. The existing code is virtually undocumented
and contains a huge number of assumptions, special cases, and hacks,
mainly because I think nobody *ELSE* understood it when it was modified
in the past. Makes me want to cry, actually, because it took two days
of hair pulling just to understand what the current nexus/pci code does
and how the device architecture winds up probing and attaching it all.
In anycase, please report any new breakages due to this work.
-Matt
More information about the Commits
mailing list