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>