Date: Thu, 26 Apr 2007 22:25:38 -0700 From: Nate Lawson <nate@root.org> To: John Baldwin <jhb@freebsd.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: <46318952.2010503@root.org> In-Reply-To: <200704261149.01661.jhb@freebsd.org> References: <20070425162233.8CCFC16A59E@hub.freebsd.org> <462F8672.7040200@root.org> <462FCC83.3080208@root.org> <200704261149.01661.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > 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. Tell that to the BIOS authors that got it wrong. A lot of it is off-by-one errors that the Windows AML interpreter (2K or below) once allowed. We're not like MS in terms of being able to qualify hardware before people run our OS on it. 7-current is still running on machines from the 90's. I'm not sure how prevalent this is so I'm ok with finding an example before attacking the problem. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46318952.2010503>