From owner-p4-releng@FreeBSD.ORG Tue Aug 26 08:27:22 2003 Return-Path: Delivered-To: p4-releng@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-releng@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 releng 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 From owner-p4-releng@FreeBSD.ORG Thu Aug 28 22:16:32 2003 Return-Path: Delivered-To: p4-releng@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB28516A4C1; Thu, 28 Aug 2003 22:16:31 -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 8EC1216A4BF for ; Thu, 28 Aug 2003 22:16:31 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19D1E43FBD for ; Thu, 28 Aug 2003 22:16:31 -0700 (PDT) (envelope-from njl@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 h7T5GU0U087031 for ; Thu, 28 Aug 2003 22:16:30 -0700 (PDT) (envelope-from njl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7T5GUps087028 for perforce@freebsd.org; Thu, 28 Aug 2003 22:16:30 -0700 (PDT) Date: Thu, 28 Aug 2003 22:16:30 -0700 (PDT) Message-Id: <200308290516.h7T5GUps087028@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to njl@freebsd.org using -f From: Nate Lawson To: Perforce Change Reviews Subject: PERFORCE change 37154 for review X-BeenThere: p4-releng@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 releng tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2003 05:16:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=37154 Change 37154 by njl@njl_laptop on 2003/08/28 22:16:21 Add my 6.0 wishlist for ACPI and newbus Affected files ... .. //depot/doc/6.0-TODO#4 edit Differences ... ==== //depot/doc/6.0-TODO#4 (text+ko) ==== @@ -74,5 +74,37 @@ pass. Modules loaded after boot inherently always run at the last pass. +# njl Wishlist +- Device suspend/resume tree sweep. Many drivers do not properly support + device_suspend and device_resume. On my laptop alone, uhci(4) and + snd_ich (pcm(4)) both fail to work after a suspend. We would maintain + a list of drivers and their suspend/resume level of support, similar to + the SMP status page. The goal would be to get maintainers to fix and + mark their devices as working. + +- Fix and/or implement VGA register save/restore so that syscons is not + garbled after a resume. + +- Add a device_suspend_prep() entry that is called before device_suspend(). + ACPI and APM could traverse the bus tree and allow each device to decide + whether or not to veto the suspend request. + +- Add a device_eject() method to allow devices to prepare to eject (i.e. + PC card, Hotplug PCI). Could this be provided by device_shutdown()? + Call ACPI's _EJx methods for the given device as well. + +- Hook newbus so that ACPI Notifies are delivered to the destination + device if it wishes to be aware of them. + +- Add support for ACPI 2.0 to our implementation. This includes implementing + processor power down states (C1, C2, ...), evaluating other namespaces, + etc. Linux has partial 2.0 support. + +- Add support for vendor-specific ACPI devices (like ASUS and Toshiba + laptop buttons). This can be studied in Linux. + +- Much ACPI bugfixing. I'm uncomfortable with the current level of locking, + for instance. + < need to insert phk's wishlist here? >