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:

NetBSD Home
NetBSD PR Database Search

(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.