Thinkpad R60 hangs when booting recent 8.4-STABLE

Don Lewis truckman at FreeBSD.org
Thu May 1 05:55:55 UTC 2014


On 30 Apr, John Baldwin wrote:

> Are you up for doing some printf sleuthing?  There are two odd things that I 
> see so far:
> 
> 1) the base address of 0.  The question here is if pci_add_map() in 
> sys/dev/pci/pci.c decides to set start to 0 explicitly, or if it happens 
> further up the callchain (should be bus_alloc_resource calls in 
> sys/dev/acpica/acpi_pcib_acpi.c, sys/x86/x86/nexus.c and then in the
> rman code itself in sys/kern/subr_rman.c)
> 
> 2) The 'reserved' printfs during boot probe.  Those come from a printf in 
> pci_alloc_resource() in sys/dev/pci/pci.c.  However, that should not be called 
> until a driver attaches to a device and calls bus_alloc_resource().  It should 
> not be called from pci_add_child() as it seems to be now.

The call graph for the four earlier ones that you previously pointed
out (not hostb0) is:
	pci_add_child()
		pci_add_resources()
			*_early_takeover()
				[I suspect]
				bus_alloc_resource_any()
					pci_alloc_resource()
					
These are the three system uhci controllers and the system ehci
controller, which apparently pass this test:
	pci_get_class(dev) == PCIC_SERIALBUS &&
	pci_get_subclass(dev) == PCIS_SERIALBUS_USB





More information about the freebsd-stable mailing list