From owner-freebsd-alpha Tue Oct 12 13:24:46 1999 Delivered-To: freebsd-alpha@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 851EB14BD8 for ; Tue, 12 Oct 1999 13:24:35 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.1/8.9.1) with ESMTP id QAA14429; Tue, 12 Oct 1999 16:24:21 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.9.3/8.9.1) id QAA50772; Tue, 12 Oct 1999 16:23:51 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Tue, 12 Oct 1999 16:23:50 -0400 (EDT) To: "Erik H. Bakke" Cc: Doug Rabson , freebsd-alpha@FreeBSD.ORG Subject: Re: Timer problems with current on 164SX In-Reply-To: References: X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <14339.36320.968256.382298@grasshopper.cs.duke.edu> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Erik H. Bakke writes: > > On 12-Oct-99 Doug Rabson wrote: > >> The PCI-ISA bridge is not probed, and therefore no ISA devices will be > >> attached. > >> What changes has been done to this part lately, that could affect this? > >> And, also, is anyone else experiencing this? > > > > I haven't heard anyone. Could you boot with 'boot -flags v' so that I can > > see what devices pci picks up. > > > The output from both kernels are attached to this mail. > It seems to me that all devices are present on the PCI bus in both kernels, > but that the ISA bridge for some reason is not being probed. > > Hope this is of any help :) Yes, it does. We're noticing this here. The monet, miata & the 164sx use the Cypress multi-function chip. This has an isa bridge, 2 IDE channels, and a USB port hanging off it. On newer kernels, the IDE driver appears to be claiming all four functions when it should really only get 2: This patch fixes it (its not as big as it looks, mainly indentation changes..): Index: sys/dev/ata//ata-all.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v retrieving revision 1.26 diff -u -r1.26 ata-all.c --- ata-all.c 1999/10/11 11:04:43 1.26 +++ ata-all.c 1999/10/12 20:17:59 @@ -181,41 +181,43 @@ static const char * ata_pcimatch(device_t dev) { - switch (pci_get_devid(dev)) { - /* supported chipsets */ - case 0x12308086: - return "Intel PIIX IDE controller"; - case 0x70108086: - return "Intel PIIX3 IDE controller"; - case 0x71118086: - return "Intel PIIX4 IDE controller"; - case 0x522910b9: - return "AcerLabs Aladdin IDE controller"; - case 0x4d33105a: - return "Promise Ultra/33 IDE controller"; - case 0x4d38105a: - return "Promise Ultra/66 IDE controller"; - case 0x00041103: - return "HighPoint HPT366 IDE controller"; - /* unsupported but known chipsets, generic DMA only */ - case 0x05711106: /* 82c586 */ - case 0x05961106: /* 82c596 */ - return "VIA Apollo IDE controller (generic mode)"; - case 0x06401095: - return "CMD 640 IDE controller (generic mode)"; - case 0x06461095: - return "CMD 646 IDE controller (generic mode)"; - case 0xc6931080: - return "Cypress 82C693 IDE controller (generic mode)"; - case 0x01021078: - return "Cyrix 5530 IDE controller (generic mode)"; - default: - if (pci_get_class(dev) == PCIC_STORAGE && - (pci_get_subclass(dev) == PCIS_STORAGE_IDE)) + if (pci_get_class(dev) == PCIC_STORAGE && + pci_get_subclass(dev) == PCIS_STORAGE_IDE){ + switch (pci_get_devid(dev)) { + /* supported chipsets */ + case 0x12308086: + return "Intel PIIX IDE controller"; + case 0x70108086: + return "Intel PIIX3 IDE controller"; + case 0x71118086: + return "Intel PIIX4 IDE controller"; + case 0x522910b9: + return "AcerLabs Aladdin IDE controller"; + case 0x4d33105a: + return "Promise Ultra/33 IDE controller"; + case 0x4d38105a: + return "Promise Ultra/66 IDE controller"; + case 0x00041103: + return "HighPoint HPT366 IDE controller"; + + /* unsupported but known chipsets, generic DMA only */ + case 0x05711106: /* 82c586 */ + case 0x05961106: /* 82c596 */ + return "VIA Apollo IDE controller (generic mode)"; + case 0x06401095: + return "CMD 640 IDE controller (generic mode)"; + case 0x06461095: + return "CMD 646 IDE controller (generic mode)"; + case 0xc6931080: + return "Cypress 82C693 IDE controller (generic mode)"; + case 0x01021078: + return "Cyrix 5530 IDE controller (generic mode)"; + default: return "Unknown PCI IDE controller (generic mode)"; + } + return NULL; } - return NULL; } static int Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message