Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jan 2010 17:53:27 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Dana Myers <dana.myers@gmail.com>
Cc:        Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>, freebsd-acpi@freebsd.org
Subject:   Re: FreeBSD 8.0 hangs on boot with ACPI enabled
Message-ID:  <201001041753.27070.jhb@freebsd.org>
In-Reply-To: <4B426E73.6050604@gmail.com>
References:  <20091230082556.GD1637@uriah.heep.sax.de> <20100104223738.GP1616@uriah.heep.sax.de> <4B426E73.6050604@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001041753.27070.jhb>