HEAD panic with ofw_pcibus.c 1.21 on Blade 100
Gavin Atkinson
gavin at FreeBSD.org
Mon Sep 1 16:20:46 UTC 2008
On Mon, 2008-09-01 at 15:20 +0100, Gavin Atkinson wrote:
> Hi all,
>
> My Blade 100 now panics on boot with HEAD, and I've tracked it down to
> sys/sparc64/pci/ofw_pcibus.c 1.21 (SVN r182108) by marius at .
> Specifically, this version now configures bridges differently, and not
> setting "Master Abort Mode" prevents the panic:
>
> Index: src/sys/sparc64/pci/ofw_pcibus.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/sparc64/pci/ofw_pcibus.c,v
> retrieving revision 1.21
> diff -u -r1.21 ofw_pcibus.c
> --- src/sys/sparc64/pci/ofw_pcibus.c 24 Aug 2008 15:05:46 -0000 1.21
> +++ src/sys/sparc64/pci/ofw_pcibus.c 1 Sep 2008 14:09:27 -0000
> @@ -140,7 +140,7 @@
> PCIM_HDRTYPE) == PCIM_HDRTYPE_BRIDGE) {
> reg = PCIB_READ_CONFIG(bridge, busno, slot, func,
> PCIR_BRIDGECTL_1, 1);
> - reg |= PCIB_BCR_MASTER_ABORT_MODE | PCIB_BCR_SERR_ENABLE |
> + reg |= /* PCIB_BCR_MASTER_ABORT_MODE | */ PCIB_BCR_SERR_ENABLE |
> PCIB_BCR_PERR_ENABLE;
> #ifdef OFW_PCI_DEBUG
> device_printf(bridge,
[snip]
> Any suggestions? Are we missing some code necessary to support master
> mode aborts?
After further research (mainly involving eyeballing
pci_pbm_err_handler() in OpenSolaris), it looks like we are indeed
missing code to handle them. Therefore, until this code is written, I
suspect the patch above is actually correct.
Gavin
More information about the freebsd-sparc64
mailing list