Subject: Re: Getting current install floppies
To: None <phoffman@proper.com>
From: Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>
List: current-users
Date: 05/16/2001 07:10:36
Hi,
From: Paul Hoffman <phoffman@proper.com>
Subject: Re: Getting current install floppies
Date : Tue, 15 May 2001 14:25:04 -0700
Message-ID: <p0510035bb7274f0497f6@[165.227.249.18]>
$ If someone could make me install floppies for this and/or
$ Kanaoka-san's previous suggestions, I'm happy to try them out. In
$ fact, I'm more than happy...
I don't CC previous Mail to -current-users.
I rewrite it below.
From: Paul Hoffman <phoffman@proper.com>
Subject: Re: Getting current install floppies
Date : Mon, 14 May 2001 17:48:16 -0700
Message-ID: <p0510031cb7262cd89818@[165.227.249.18]>
$ PCI bus #0 is the last bus
$ mainbus0 (root)
$ pci0 at mainbus0 bus 0: configuration mode 1
$ pci0: i/o space, memory space enabled
$ pchb0 at pci0 dev 0 function 0
$ pchb0: vendor 0x1166 product 0x0008 (rev.0.23)
$ pci1 at pchb0 bus 1
$ pci1: no spaces enabled!
$ pchb1 at pci0 dev 0 function 1
$ pchb1: vendor 0x1166 product 0x0008 (rev.0.01)
$ pchb2 at pci0 dev 0 function 2
$ pchb2: vendor 0x1166 product 0x0006 (rev.0.01)
$ pci2 at pchb2 bus 1
$ pci2: memory space enabled
$ pchb3 at pci0 dev 0 function 1
$ pchb3: vendor 0x1166 product 0x0006 (rev.0.01)
$ pci3 at pchb3 bus 2
$ pci3: memory space enabled
$ ahc1 at pci3 dev 5 function 0: unable to map registers
$ ahc2 at pci3 dev 5 function 1: unable to map registers
pci_bus_fixup find PCI-PCI bridge, PCI-CARDBUS bridge and
enumerate PCI bus.But your chipset(vendor 0x1166, product 0x0006,0x0008)
is PCI-HOST bridge.Thus,pci_bus_fixup does not enumerate PCI
bus correctly.
According to "grep 1166 /sys/dev/pci/pcidevs",
vendor SERVERWORKS 0x1166 ServerWorks
According to pchbattach()@sys/arch/i386/pci/pchb.c,
switch (PCI_VENDOR(pa->pa_id)) {
case PCI_VENDOR_SERVERWORKS:
pbnum = pci_conf_read(pa->pa_pc, pa->pa_tag, 0x44) & 0xff;
if (pbnum == 0)
break;
/*
* This host bridge has a second PCI bus.
* Configure it.
*/
doattach = 1;
break;
I think of ad-hoc code that set maxbus=3 and call pci_addr_fixup.
If possible,How about trying with "GENERIC + PCIBIOS stuff + next-patch"
kernel?
Regards!
---
Masanori Kanaoka kanaoka@ann.hi-ho.ne.jp
Index: pcibios.c
===================================================================
RCS file: /ftp/cvs/syssrc/sys/arch/i386/pci/pcibios.c,v
retrieving revision 1.5
diff -u -r1.5 pcibios.c
--- pcibios.c 2000/08/01 05:23:59 1.5
+++ pcibios.c 2001/05/15 06:09:34
@@ -208,6 +208,10 @@
#ifdef PCIBIOS_BUS_FIXUP
pcibios_max_bus = pci_bus_fixup(NULL, 0);
+
+#if 1 /* test code for ServerWorks PCI-HOST bridge. */
+ pcibios_max_bus = 3;
+#endif
#ifdef PCIBIOSVERBOSE
printf("PCI bus #%d is the last bus\n", pcibios_max_bus);
#endif