Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 May 2007 16:49:35 +0100
From:      Rui Paulo <rpaulo@fnop.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: 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 ...
Message-ID:  <86hcqs612o.wl%rpaulo@fnop.net>
In-Reply-To: <200705021750.l42HoaMj067787@repoman.freebsd.org>
References:  <200705021750.l42HoaMj067787@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86hcqs612o.wl%rpaulo>