NetBSD Problem Report #41961
From jmcneill@discovery.invisible.ca Mon Aug 31 12:44:48 2009
Return-Path: <jmcneill@discovery.invisible.ca>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 8F62C63B8BD
for <gnats-bugs@gnats.NetBSD.org>; Mon, 31 Aug 2009 12:44:48 +0000 (UTC)
Message-Id: <20090831124447.301AE54009@discovery.invisible.ca>
Date: Mon, 31 Aug 2009 08:44:47 -0400 (EDT)
From: jmcneill@invisible.ca
Reply-To: jmcneill@invisible.ca
To: gnats-bugs@gnats.NetBSD.org
Subject: ISA devices should not attach to acpi0
X-Send-Pr-Version: 3.95
>Number: 41961
>Category: kern
>Synopsis: ISA devices should not attach to acpi0
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 31 12:45:00 +0000 2009
>Last-Modified: Mon Aug 31 15:05:02 +0000 2009
>Originator: Jared D. McNeill
>Release: NetBSD 4.0_STABLE
>Organization:
>Environment:
System: NetBSD discovery.invisible.ca 4.0_STABLE NetBSD 4.0_STABLE (DISCOVERY) #2: Thu Apr 9 08:34:05 EDT 2009 root@discovery.invisible.ca:/usr/src/sys/arch/i386/compile/DISCOVERY i386
Architecture: i386
Machine: i386
>Description:
ACPI enumerates known devices on a system, but just because it can
find ISA devices does not mean that driver instances should
attach there. These devices are really children of isa (ISA bus),
which is likely attached to a PCI-ISA bridge (pcib, ichlpcib, etc).
>How-To-Repeat:
>Fix:
There are a few possible ways to resolve this, from best to worst:
1. Attach the root PCI bus to acpi, and use the information in the
ACPI decide tree to help enumerate devices on the system. This is
the ideal approach, and will also require the most effort.
2. Have ACPI enumerate all ISA devices and hand it off to MD code.
MD code in turn uses isa_attach_hook to push in a list of known
devices to isa, and drivers are adapted using ISA_DIRECT_CONFIG.
3. Create a bus similar to isapnp but for ACPI devices.
A proof of concept for option against -current can be found here:
http://www.invisible.ca/~jmcneill/netbsd/isa-direct-config3.patch
>Audit-Trail:
From: Thomas Klausner <wiz@NetBSD.org>
To: jmcneill@invisible.ca
Cc: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Subject: Re: kern/41961: ISA devices should not attach to acpi0
Date: Mon, 31 Aug 2009 16:35:33 +0200
On Mon, Aug 31, 2009 at 12:45:00PM +0000, jmcneill@invisible.ca wrote:
> There are a few possible ways to resolve this, from best to worst:
>
> 1. Attach the root PCI bus to acpi, and use the information in the
> ACPI decide tree to help enumerate devices on the system. This is
> the ideal approach, and will also require the most effort.
> 2. Have ACPI enumerate all ISA devices and hand it off to MD code.
> MD code in turn uses isa_attach_hook to push in a list of known
> devices to isa, and drivers are adapted using ISA_DIRECT_CONFIG.
> 3. Create a bus similar to isapnp but for ACPI devices.
>
> A proof of concept for option against -current can be found here:
Which option?
Thomas
From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org,
gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: kern/41961: ISA devices should not attach to acpi0
Date: Mon, 31 Aug 2009 11:04:12 -0400
On 31-Aug-09, at 10:40 AM, Thomas Klausner wrote:
> The following reply was made to PR kern/41961; it has been noted by
> GNATS.
>
> From: Thomas Klausner <wiz@NetBSD.org>
> To: jmcneill@invisible.ca
> Cc: NetBSD bugtracking <gnats-bugs@NetBSD.org>
> Subject: Re: kern/41961: ISA devices should not attach to acpi0
> Date: Mon, 31 Aug 2009 16:35:33 +0200
>
> On Mon, Aug 31, 2009 at 12:45:00PM +0000, jmcneill@invisible.ca wrote:
>> There are a few possible ways to resolve this, from best to worst:
>>
>> 1. Attach the root PCI bus to acpi, and use the information in the
>> ACPI decide tree to help enumerate devices on the system. This is
>> the ideal approach, and will also require the most effort.
>> 2. Have ACPI enumerate all ISA devices and hand it off to MD code.
>> MD code in turn uses isa_attach_hook to push in a list of known
>> devices to isa, and drivers are adapted using ISA_DIRECT_CONFIG.
>> 3. Create a bus similar to isapnp but for ACPI devices.
>>
>> A proof of concept for option against -current can be found here:
>
> Which option?
Option #2.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.