From owner-cvs-all@FreeBSD.ORG Fri Jun 6 11:06:40 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 942C237B405 for ; Fri, 6 Jun 2003 11:06:40 -0700 (PDT) Received: from mail.speakeasy.net (mail16.speakeasy.net [216.254.0.216]) by mx1.FreeBSD.org (Postfix) with ESMTP id 17BBF43FA3 for ; Fri, 6 Jun 2003 11:06:38 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 12938 invoked from network); 6 Jun 2003 18:06:37 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 6 Jun 2003 18:06:37 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.8/8.12.8) with ESMTP id h56I6Yp0014308; Fri, 6 Jun 2003 14:06:35 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200306061756.h56HuUc8051034@repoman.freebsd.org> Date: Fri, 06 Jun 2003 14:06:35 -0400 (EDT) From: John Baldwin To: John Baldwin cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: RE: cvs commit: src/sys/i386/pci pci_bus.c src/sys/i386/include legacyvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jun 2003 18:06:41 -0000 On 06-Jun-2003 John Baldwin wrote: > jhb 2003/06/06 10:56:30 PDT > > FreeBSD src repository > > Modified files: > sys/i386/pci pci_bus.c > sys/i386/include legacyvar.h > Log: > - Rename nexus_pcib to legacy_pcib. I've been meaning to do this for a > while after the legacy device was added since this driver hangs from > legacy and not nexus. > - Make several methods non-static so they can be reused in a mptable > host -> pci bridge driver that will be added at a later date. > - Let legacy_pcib() use pcibios_pcib_route_interrupt() directly instead of > wrapping it in a private function. Originally, I thought I was going to > have the nexus_pcib() driver make a runtime APIC vs. 8259A check and call > the appropriate routing method (MPTable vs. PIR) that way, but it ended > up being cleaner to make nexus_pcib() just work with PIR and have a > separate host -> pci bridge driver for the mptable/apic case. The eventual MPTable PCI bridge drivers are not pure theory but already exist in the jhb_acpipci p4 branch. There are several changes in that branch to allow for one kernel that supports using both the 8259A's and the I/O APIC and using a runtime decision as to how to which one to use. The upshot is that we will be able to stick SMP in GENERIC on i386 and that UP machines with an MP table or ACPI MADT table will be able to use the I/O APIC to handle interrupts. I hope to have it all in the tree in time for 5.2. For a bit of a preview: Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #48: Thu Jun 5 17:08:15 EDT 2003 jbaldwin@bsdboy.atl.weather.com:/usr/work/jbaldwin/p4/acpipci/i386/compile/B LUE Preloaded elf kernel "/boot/acpipci/kernel" at 0xc042d000. Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 2394168536 Hz CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2394.17-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf24 Stepping = 4 Features=0x3febfbff real memory = 1072889856 (1023 MB) avail memory = 1037742080 (989 MB) MP Configuration Table version 1.4 found at 0xc00fc440 lapic_init: local apic addr = 0xfee00000, truc_page() = 0xfee00000 ioapic1: Assuming intbase of 0 ioapic1: Routing external 8259A's -> intpin 0 ioapic1: intpin 2 -> irq 0 APIC: Using the MPTable enumerator. ... pcib0: at pcibus 0 on motherboard pci0: on pcib0 pcib0: slot 29 INTA routed to irq 16 pcib0: slot 29 INTB routed to irq 19 pcib0: slot 29 INTC routed to irq 18 pcib0: slot 29 INTA routed to irq 16 pcib0: slot 29 INTD routed to irq 23 pcib0: slot 31 INTA routed to irq 18 pcib0: slot 31 INTB routed to irq 17 pcib0: slot 31 INTB routed to irq 17 agp0: mem 0xf4000000-0xf7ffffff at device 0.0 o n pci0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pcib1: slot 0 INTA routed to irq 16 pci1: at device 0.0 (no driver attached) uhci0: port 0xcc00-0xcc1f irq 16 at device 29.0 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xd000-0xd01f irq 19 at device 29.1 on pci0 usb1: on uhci1 usb1: USB revision 1.0 ... etc. You can see the mptable and dmesg output at http://www.FreeBSD.org/~jhb/apic/ -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/