Date: Thu, 9 Sep 1999 10:50:02 -0700 (PDT) From: Parag Patel <parag@cgt.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/13546: Too-verbose output from PCI probe at bootup Message-ID: <199909091750.KAA90024@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/13546; it has been noted by GNATS.
From: Parag Patel <parag@cgt.com>
To: freebsd-gnats-submit@freebsd.org
Cc:
Subject: Re: kern/13546: Too-verbose output from PCI probe at bootup
Date: Thu, 09 Sep 1999 10:41:51 -0700
Here's a better fix. Turns out that this 4xPPro box has two "Orion"
chips in it, and the code that picks off the number of subordinate buses
returns 255 for whatever reason. The fix is copied from the
fixbushigh_450nx() routine into the fixbushigh_orion() routine, which
appears to have the same problem.
The fix could be made generic and moved out of both bushigh routines if
there are no systems out there with 255 subordinate buses. The magic
number 255 may mean different things to different chipsets so I settled
for this Orion-specific fix.
-- Parag Patel
*** /sys/pci/pcisupport.c Sat Sep 4 04:02:49 1999
- --- pcisupport.c Wed Sep 8 12:03:00 1999
***************
*** 129,134 ****
- --- 129,149 ----
{
tag->secondarybus = pci_cfgread(tag, 0x4a, 1);
tag->subordinatebus = pci_cfgread(tag, 0x4b, 1);
+
+ if (tag->subordinatebus == 255) {
+ printf("fixbushigh_orion: bogus highest PCI bus %d",
+ tag->subordinatebus);
+ #ifdef NBUS
+ tag->subordinatebus = NBUS - 2;
+ #else
+ tag->subordinatebus = 10;
+ #endif
+ printf(", reduced to %d\n", tag->subordinatebus);
+ }
+
+ if (bootverbose)
+ printf("fixbushigh_orion: subordinatebus is %d\n",
+ tag->subordinatebus);
}
static void
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909091750.KAA90024>
