Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Apr 2007 11:49:01 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Nate Lawson <nate@root.org>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/dev/acpica acpi.c
Message-ID:  <200704261149.01661.jhb@freebsd.org>
In-Reply-To: <462FCC83.3080208@root.org>
References:  <20070425162233.8CCFC16A59E@hub.freebsd.org> <462F8672.7040200@root.org> <462FCC83.3080208@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 25 April 2007 05:47:47 pm Nate Lawson wrote:
> Nate Lawson wrote:
> > John Baldwin wrote:
> >> jhb         2007-04-25 16:22:18 UTC
> >>
> >>   FreeBSD src repository
> >>
> >>   Modified files:
> >>     sys/dev/acpica       acpi.c 
> >>   Log:
> >>   Use a tighter check to see if a resource allocation request is for a
> >>   specific request and thus should first try to be allocated from the
> >>   sys_resource pool.  This avoids using the sys_resource pool for 
wildcard
> >>   requests that have bounded ranges coming from cbb(4) and Host-PCI 
pcib(4)
> >>   drivers.
> >>   
> >>   Tested by:      Andrea Bittau <a.bittau of cs.ucl.ac.uk fame>
> >>   Sleuthing by:   Andrea Bittau as well
> >>   
> >>   Revision  Changes    Path
> >>   1.235     +1 -1      src/sys/dev/acpica/acpi.c
> > 
> > I think I'll test this to see if it helps my via 8235 ata survive boot.
> 
> Yay, my laptop now boots with this change.  Thanks!
> 
> BTW, I've been thinking about sysres issues in general.  One is that 
> sometimes ACPI tables define regions that are actually split with nexus. 
>   Would it make sense to change rman to have a split model where if a 
> request can be partially satisfied by this pool and a parent pool, we 
> can split the request while returning a struct resource *?  struct 
> resource would probably have to be changed to allow a linked list of 
> internal storage with pointers to parent pools.
> 
> What do you think?

Those allocations should fail.  You shouldn't have a single resource cross 
both a fixed-address system-resource and a variable "free" address.

-- 
John Baldwin



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