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