Subject: arm32-current panics in ohci_pci_attach
To: None <tech-kern@netbsd.org, port-arm32@netbsd.org>
From: Todd Whitesel <toddpw@best.com>
List: tech-kern
Date: 09/01/1999 23:33:20
arm32-current for at least the last few weeks has been panicking on my CATS
system inside ohci_pci_attach. I also have an i386-current system with the
same SuperIO chip, and it does not panic.

The panic (a jump to 0) always occurs in ohci_pci_attach, in the arm32
implementation of bus_space_write_4:

/*	$NetBSD: ohci_pci.c,v 1.10 1999/08/21 21:35:36 augustss Exp $	*/
...

	pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo);
	printf(": %s (rev. 0x%02x)\n", devinfo, PCI_REVISION(pa->pa_class));

{
int barf = (int) ((sc->iot)->bs_w_4);
printf("[BARF %#x]", barf);
}
	/* Disable interrupts, so we don't can any spurious ones. */
	bus_space_write_4(sc->iot, sc->ioh, 
			  OHCI_INTERRUPT_DISABLE, OHCI_ALL_INTRS);
...

The 'barf' code displays a method function pointer called internally by
arm32's bus_space_write_4 and prints this:

	[BARF 0]

which explains the jump-to-zero panic.

Before I go hunting for all the places where bs_w_4 can be set,
does anyone see something obvious here that should be checked?

Todd Whitesel
toddpw @ best.com