NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-alpha/38358: LOCKDEBUG panic when attaching tsp1



Hi,

some further input.  I added a debug printf (diff below) to the
relevant bus_io_init function in pci_bwx_bus_io_chipdep.c.  It
turns out that the first printout from this function occurs right
after the kernel gets control from the boot blocks:

Boot file: netbsd
Boot flags: a
4060656+476168 [258960+166553]=0x4bbea8

Entering netbsd at 0xfffffc0000301210...
chip_io_ex_store(v) = 0xfffffc0000720f30
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.

and then the second printout occurs later on:
[ ... ]
tsp1 at tsc0
chip_io_ex_store(v) = 0xfffffc0000720f30
Mutex error: lockdebug_alloc: already initialized

lock address : 0xfffffc0000720f38 type     :               spin
shared holds :                  0 exclusive:                  0
shares wanted:                  0 exclusive:                  0
current cpu  :                  0 last held:                  0
current lwp  : 0xfffffc00006d2180 last held: 000000000000000000
last locked  : 0xfffffc00005012dc unlocked : 0xfffffc0000501478
initialized  : 0xfffffc0000501684
owner field  : 000000000000000000 wait/spin:                0/0

panic: LOCKDEBUG

Might this somehow be related to initialization of the console
(which is on a serial port on this system)?

                                        -jarle

Diff:
Index: sys/arch/alpha/pci/pci_bwx_bus_io_chipdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/alpha/pci/pci_bwx_bus_io_chipdep.c,v
retrieving revision 1.17
diff -u -r1.17 pci_bwx_bus_io_chipdep.c
--- sys/arch/alpha/pci/pci_bwx_bus_io_chipdep.c 28 Apr 2008 20:23:11 -0000      
1.17
+++ sys/arch/alpha/pci/pci_bwx_bus_io_chipdep.c 16 May 2008 14:46:44 -0000
@@ -218,7 +218,7 @@
        void *v;
 {
        struct extent *ex;
-
+       void *p;
        /*
         * Initialize the bus space tag.
         */
@@ -301,6 +301,8 @@
        t->abs_c_4 =            __C(CHIP,_io_copy_region_4);
        t->abs_c_8 =            __C(CHIP,_io_copy_region_8);
 
+       p = (void *)CHIP_IO_EX_STORE(v);
+       printf("chip_io_ex_store(v) = %p\n", p);
        ex = extent_create(__S(__C(CHIP,_bus_io)), 0x0UL, 0xffffffffUL,
            M_DEVBUF, (void *)CHIP_IO_EX_STORE(v), CHIP_IO_EX_STORE_SIZE(v),
            EX_NOWAIT|EX_NOCOALESCE);


Home | Main Index | Thread Index | Old Index