cvs commit: src/sys/amd64/amd64 mptable_pci.c msi.c nexus.c
src/sys/amd64/include intr_machdep.h src/sys/amd64/pci
pci_bus.c src/sys/dev/acpica acpi_pcib_acpi.c acpi_pcib_pci.c
src/sys/dev/pci pci.c pci_if.m pci_pci.c pci_private.h pcib_if.m ...
Rui Paulo
rpaulo at fnop.net
Fri May 4 15:50:25 UTC 2007
At Wed, 2 May 2007 17:50:36 +0000 (UTC),
John Baldwin wrote:
>
> jhb 2007-05-02 17:50:36 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/amd64/amd64 mptable_pci.c msi.c nexus.c
> sys/amd64/include intr_machdep.h
> sys/amd64/pci pci_bus.c
> sys/dev/acpica acpi_pcib_acpi.c acpi_pcib_pci.c
> sys/dev/pci pci.c pci_if.m pci_pci.c pci_private.h
> pcib_if.m pcib_private.h pcivar.h
> sys/i386/i386 mptable_pci.c msi.c nexus.c
> sys/i386/include intr_machdep.h
> sys/i386/pci pci_bus.c
> Log:
> Revamp the MSI/MSI-X code a bit to achieve two main goals:
> - Simplify the amount of work that has be done for each architecture by
> pushing more of the truly MI code down into the PCI bus driver.
> - Don't bind MSI-X indicies to IRQs so that we can allow a driver to map
> multiple MSI-X messages into a single IRQ when handling a message
> shortage.
With this change, I think, I get a WITNESS panic when booting the
second core on my MacBook
After SMP: AP #1 Launched, I get this panic:
panic: blockable sleep lock (sx) msi @ i386/i386/msi.c:374
The backtrace is:
witness_checkorder()
_sx_lock()
msi_map()
nexus_map_msi()
acpi_pcib_map_msi()
pcib_map_msi()
pci_remap_msi_irq()
msi_assign_cpu()
Any idea why?
More information about the cvs-src
mailing list