From owner-p4-projects@FreeBSD.ORG Tue Aug 26 08:27:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6975B16A4C1; Tue, 26 Aug 2003 08:27:22 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B6C816A4BF for ; Tue, 26 Aug 2003 08:27:22 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 89FB443FE1 for ; Tue, 26 Aug 2003 08:27:21 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7QFRL0U078686 for ; Tue, 26 Aug 2003 08:27:21 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7QFRK05078683 for perforce@freebsd.org; Tue, 26 Aug 2003 08:27:20 -0700 (PDT) Date: Tue, 26 Aug 2003 08:27:20 -0700 (PDT) Message-Id: <200308261527.h7QFRK05078683@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 36949 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2003 15:27:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=36949 Change 36949 by jhb@jhb_laptop on 2003/08/26 08:26:41 Abandon multiple ISA bus idea by popular demand and instead propose having several different busses (isa0, pnpbios0, isapnp0, acpi0, cbus0, etc.) that ISA type drivers can attach to. Requested by: marcel, imp Affected files ... .. //depot/doc/6.0-TODO#3 edit Differences ... ==== //depot/doc/6.0-TODO#3 (text+ko) ==== @@ -24,14 +24,20 @@ registers including BAR's during suspend. The old code that does this in individual drivers can then be removed. (maybe this will be in 5.x, as imp has some code to do this already). -- Fix ISA bus support to have multiple ISA bus drivers. +- Split the current ISA support up into a few different busses. Note that + many ISA drivers will have to grow multiple attachments for this, but + that is seen as the lesser of evils. - 1) An ISA bus that uses ACPI to enumerate PNPBIOS type devices. - 2) An ISA bus that uses the PNPBIOS to enumerate motherboard devices. - 3) A generic ISA bus that doesn't enumerate any builtin devices. - 4) A i386 ISA bus for systems w/o ACPI or PNPBIOS that fakes up - suitable PNPBIOS devices for a base system (attimer, atpic, rtc, - etc.) + 1) A plain ISA bus that only supports hint devices. + 2) A PnP BIOS bus that enumerates PnP BIOS devices. Would be a child of + legacy0 to avoid interfering with ACPI. + 3) ACPI attachments for ACPI-enumerated ISA devices. This is partially + done now. + 4) A PC98 C-Bus bus for pc98 c-bus attachments. + 5) An ISA PnP bus for ISA PnP devices. Probably the generic ISA bus + above would create an ISA PnP child bus if PnP is found. + 6) Some kind of fake PnP BIOS like bus for systems w/o ACPI or PnPBIOS + that attaches to legacy and enumerates pics, timers, etc. - Multiple passes over the new-bus tree for device probe and attach. The multiple passes might look something like this: @@ -49,9 +55,7 @@ hotplug bus. Bus drivers would need to idnetify child devices during this pass as they do now. 2) Probe interrupt controllers. This can allow drivers for interrupt - controllers to be real drivers. What we would probably do to help - old i386 systems without PNPBIOS is to have an ISA bus driver for - such systems (see ISA bus driver 4 above). + controllers to be real drivers. 3) Probe clock devices and timecounters. Note that since a clock driver will likely need to allocate an interrupt, this pass needs to happen after interrupt controllers have attached and made their interrupts