FreeBSD 8.0 hangs on boot with ACPI enabled

John Baldwin jhb at freebsd.org
Mon Jan 4 22:53:44 UTC 2010


On Monday 04 January 2010 5:40:51 pm Dana Myers wrote:
> 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.
> >>     
> >
> >   
> Ah.  This isn't like the evil thing I've seen where PCI config
> space is trounced during the legacy->ACPI mode switch.
> 
> Cheers,
> Dana

It might be because ACPI is also known to trash the IO decoding windows in 
PCI-PCI bridges as well.

> > 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?
> >
> >   
> 
> 

-- 
John Baldwin


More information about the freebsd-acpi mailing list