From owner-cvs-src@FreeBSD.ORG  Fri Apr 27 05:25:45 2007
Return-Path: <owner-cvs-src@FreeBSD.ORG>
X-Original-To: cvs-src@freebsd.org
Delivered-To: cvs-src@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 71D0F16A401
	for <cvs-src@freebsd.org>; Fri, 27 Apr 2007 05:25:45 +0000 (UTC)
	(envelope-from nate@root.org)
Received: from root.org (root.org [67.118.192.226])
	by mx1.freebsd.org (Postfix) with ESMTP id 4D97213C459
	for <cvs-src@freebsd.org>; Fri, 27 Apr 2007 05:25:45 +0000 (UTC)
	(envelope-from nate@root.org)
Received: (qmail 47503 invoked from network); 27 Apr 2007 05:25:47 -0000
Received: from ppp-71-139-34-102.dsl.snfc21.pacbell.net (HELO ?10.0.0.235?)
	(nate-mail@71.139.34.102)
	by root.org with ESMTPA; 27 Apr 2007 05:25:47 -0000
Message-ID: <46318952.2010503@root.org>
Date: Thu, 26 Apr 2007 22:25:38 -0700
From: Nate Lawson <nate@root.org>
User-Agent: Thunderbird 2.0.0.0 (X11/20070424)
MIME-Version: 1.0
To: John Baldwin <jhb@freebsd.org>
References: <20070425162233.8CCFC16A59E@hub.freebsd.org>
	<462F8672.7040200@root.org> <462FCC83.3080208@root.org>
	<200704261149.01661.jhb@freebsd.org>
In-Reply-To: <200704261149.01661.jhb@freebsd.org>
X-Enigmail-Version: 0.95.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject: Re: cvs commit: src/sys/dev/acpica acpi.c
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Apr 2007 05:25:45 -0000

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