FreeBSD 8.0 hangs on boot with ACPI enabled

John Baldwin jhb at freebsd.org
Tue Jan 5 13:44:33 UTC 2010


On Monday 04 January 2010 5:37:38 pm Joerg Wunsch wrote:
> As John Baldwin wrote:
> 
> > OTOH, I'm not sure why initializing ACPI is trashing the BAR.  If
> > you want, you can try to narrow down at what point the BAR gets
> > reset to 0.
> 
> It happens here:
> 
>         res = resource_list_alloc(rl, bus, dev, type, &reg, start, end, 
count,
>             prefetch ? RF_PREFETCHABLE : 0);
>         if (res == NULL) {
>                 /*
>                  * If the allocation fails, clear the BAR and delete
>                  * the resource list entry to force
>                  * pci_alloc_resource() to allocate resources from the
>                  * parent.
>                  */
>                 resource_list_delete(rl, type, reg);
> printf("resource_list_alloc() failed\n");
>                 start = 0;
> 
> The printf() I added there triggers, and this resets "start" to 0.
> 
> Where to proceed now?

So this is actually way too early.  The specific issue I'm referring to is 
ACPI setting the BAR to zero when ACPI is initialized long before we ever get 
to this point.  Hmmmmm.  Can you get the output of 'devinfo -ur' with ACPI 
enabled?  Also, you can maybe try setting 'debug.acpi.disabled=sysres' from 
the loader.

-- 
John Baldwin


More information about the freebsd-acpi mailing list