cvs commit: src/sys/dev/acpica acpi.c

John Baldwin jhb at freebsd.org
Thu Apr 26 16:02:50 UTC 2007


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


More information about the cvs-all mailing list