From owner-freebsd-mobile Sat Sep 1 1:33:12 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 5435737B403; Sat, 1 Sep 2001 01:33:02 -0700 (PDT) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id f818X1X05137; Sat, 1 Sep 2001 02:33:01 -0600 (MDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.11.3/8.11.4) with ESMTP id f818X0h10099; Sat, 1 Sep 2001 02:33:00 -0600 (MDT) (envelope-from imp@harmony.village.org) Message-Id: <200109010833.f818X0h10099@harmony.village.org> To: bmah@FreeBSD.ORG Subject: Re: Documenting pcic changes to -CURRENT and -STABLE Cc: freebsd-mobile@FreeBSD.ORG, freebsd-doc@FreeBSD.ORG In-reply-to: Your message of "Fri, 31 Aug 2001 15:26:32 PDT." <200108312226.f7VMQWk00844@intruder.bmah.org> References: <200108312226.f7VMQWk00844@intruder.bmah.org> Date: Sat, 01 Sep 2001 02:33:00 -0600 From: Warner Losh Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org In message <200108312226.f7VMQWk00844@intruder.bmah.org> Bruce A. Mah writes: : I admit I'm really ignorant about the latest pcic(4) changes for both : -CURRENT and 4-STABLE. I'm wondering if someone might be able to help : me write up release note entries for this stuff. I asked Warner, but : he's clearly busy getting the code to *work*, and we are all probably : better off with him putting his time into that part. : : To kick things off...here was a list of questions I would have needed : to write something up. Some of this might be "remedial knowledge" to : some...it might not need to go in release notes entries, but I wouldn't : be able to write anything without knowing this... I'll do my best. Sorry for not replying sooner. : > 1. What does "interrupt routing" mean? There are two busses in the laptop. There's an ISA bus and a PCI bus. Most normal devices live on one bus or the other exclusively. However, the pcic devices are special. Newer ones live on the PCI bus, but also have a back door connection to the ISA bus in some way. Interrupt routing referrs to which set of interrupt signals is used. PCI means use the PCI bus' interrupt signals. ISA means use the ISA bus' interrupt signals (basically). PCI interrupts can be shared. ISA interrupts cannot be shared. PCI interrupts are automatically configured, while ISA interrupts must be configured by the user. Since PCI interrupts are automatically configured, and there are a large number of PCI bridge chipsets, PCI interrupt routing is handled in the BIOS of the machine. The BIOS provides two things that we use. First, it provides us with a wiring table that lets us know how the bus is connected. This is called the PIR table. Second, it provides a functions that says "route IRQ 10 (aka intpin 10) to this interrupt line, which is connected to this slot." : > 2. What do "PCI attachment" and "ISA attachment" mean? PCI attachment means that the device lives on a PCI bus and is treated as such. ISA attachment means that the device lives on the ISA bus. It is a system configuration term. In 4.3 and earleir, we would always do an ISA attachment of pcic devices. We'd put the PCI parts into a compatibility mode and then attach them as ISA devices. Now, we don't put them into compatibility mode and treat them as real PCI devices. : > 3. Does this term (and attendant code) apply only to PCMCIA and/or : > CardBus devices or are other devices (e.g. PCI/ISA cards, built-in : > NICs/disk controllers/other hardware) affected too? Only PCI <-> PCMCIA and PCI <-> CardBus bridges. : > 4. Does the new code allow me to use new devices (e.g. NICs, disk : > adapters) that I couldn't use before? Yes. It allows one to use the various Cardbus bridge PCI cards. The Orinoco cards are the most common, but other cards work too. : > 5. Does the new code allow me to use devices on new machines that I : > couldn't before? Not really, but see 6. : > 6. Does the new code improve performance, flexibility, or reliability : > in any way? When PCI interrupt routing works, it allows machines that failed for polling mode to work without configraution that was needed before. PCI interrupts can also be shared, which makes it possible to use cards on some laptops that didn't have any free IRQs. The code has also been improved wrt eject to help close the inherent races more than before. : > 7. What configuration file (i.e. KERNCONF, rc.conf, rc.sysctl) : > changes do I need to make? (RTFM is an acceptable answer if I can : > point readers someplace, for example the pcic.4 manpage.) If PCI interrupt routing works, there are no configuration changes necessary. Old configurations will continue to work. If you have an ISA only system, no configuration changes are necessary. On some systems, you need to tweak the configuration. These systems either panic when we call the pcibios or hang at root mounting time. Often time using ISA interrupts on the PCI device fixes the problem. (see pcic.4 for details, but they can be summarized as hw.pcic.intr_path=1 hw.pcic.irq=0 in /boot/loader.conf. You can also "set" these at the boot loader if you are bootstrapping the system). This needs to be documented in the release notes :-) And then there are bugs... : If anyone can help (either by answering the above, or, preferably, : actually writing some release notes-like thing), I'd be most grateful. I can do the above, but writing release notes is hard for me... Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message