Subject: port-i386/4704: i386 port doesn't detect multiple PCI buses.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <michael.robinson@vuw.ac.nz>
List: netbsd-bugs
Date: 12/17/1997 04:42:59
>Number: 4704
>Category: port-i386
>Synopsis: i386 port doesn't detect multiple PCI buses.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Tue Dec 16 20:50:00 1997
>Last-Modified:
>Originator: smrf
>Organization:
Victoris University of Wellington
>Release: 1.3_BETA
>Environment:
System: NetBSD kowhai.its.vuw.ac.nz 1.3_BETA NetBSD 1.3_BETA (RAUPETI)
#1: Tue Dec 16 13:33:05 NZDT 1997 smrf@tawhai:/usr/src/sys/arch/i386/compile/RAUPETI i386
>Description:
The mainbus_attach function for i386's only attaches
one PCI bus; the Compaq Proliant 1200 (at least) has
two separate PCI buses. All credit to Matthias Drochner
for suggesting the solution to my problems.
>How-To-Repeat:
Boot netbsd on Compaq Proliant 1200, which has two
PCI buses -- the second contains the onboard ethernet
controller and SCSI controller, which makes life
difficult.
>Fix:
The following patch allows the Proliant to boot.
However, something more general needs to be done, as
this just probes one more bus; I don't know enough
about what is going on here to suggest a better
solution.
--- mainbus.c.old Thu Dec 11 10:41:32 1997
+++ mainbus.c Tue Dec 16 13:32:50 1997
@@ -120,6 +120,15 @@
mba.mba_pba.pba_dmat = &pci_bus_dma_tag;
mba.mba_pba.pba_flags =
PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED;
+ mba.mba_pba.pba_bus = 1;
+ config_found(self, &mba.mba_pba, mainbus_print);
+
+ mba.mba_pba.pba_busname = "pci";
+ mba.mba_pba.pba_iot = I386_BUS_SPACE_IO;
+ mba.mba_pba.pba_memt = I386_BUS_SPACE_MEM;
+ mba.mba_pba.pba_dmat = &pci_bus_dma_tag;
+ mba.mba_pba.pba_flags =
+ PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED;
mba.mba_pba.pba_bus = 0;
config_found(self, &mba.mba_pba, mainbus_print);
}
>Audit-Trail:
>Unformatted: