cvs commit: src/sys/dev/acpica acpi.c
Nate Lawson
nate at root.org
Wed Apr 25 21:54:24 UTC 2007
John Baldwin wrote:
> On Wednesday 25 April 2007 12:48:50 pm 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
>>>
>>>
>>> Index: src/sys/dev/acpica/acpi.c
>>> diff -u src/sys/dev/acpica/acpi.c:1.234 src/sys/dev/acpica/acpi.c:1.235
>>> --- src/sys/dev/acpica/acpi.c:1.234 Thu Mar 22 18:16:40 2007
>>> +++ src/sys/dev/acpica/acpi.c Wed Apr 25 16:22:18 2007
>>> @@ -1034,7 +1034,7 @@
>>> * the request from our system resource regions. If we can't, pass
> the
>>> * request up to the parent.
>>> */
>>> - if (!(start == 0UL && end == ~0UL) && rm != NULL)
>>> + if (start + count - 1 == end && rm != NULL)
>>> res = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE,
>>> child);
>>> if (res == NULL) {
>> I think I'll test this to see if it helps my via 8235 ata survive boot.
>
> I wonder if in fact the algorithm shouldn't be changed to always try to alloc
> the resource from the parent first, and only fall back to the sys_resource
> rmans if that fails? In theory any resource requests that should be done via
> sys_resource will fail the request in the parent, yes?
>
Yes, that should be ok but why not do local first and then push up tree
if it fails? Semantically, a child of your bus requested the resource
so most of the time you should be able to handle it.
--
Nate
More information about the cvs-src
mailing list