Date: Thu, 05 Sep 2002 13:14:24 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: RE: cvs commit: src/sys/i386/pci pci_cfgreg.c Message-ID: <XFMail.20020905131424.jhb@FreeBSD.org> In-Reply-To: <200209051707.g85H780f056337@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05-Sep-2002 John Baldwin wrote: > jhb 2002/09/05 10:07:08 PDT > > Modified files: > sys/i386/pci pci_cfgreg.c > Log: > Test PCIbios.ventry against 0 to see if we found a PCIbios entry point, > not the 'entry' member. The entry point is formed from both a base and > a relative entry point. 'entry' is that relative offset. It is perfectly > valid to have an entry point with a relative offset of 0. PCIbios.ventry > is the virtual address of the entry point that takes both 'base' and > 'entry' into account, thus it is the proper variable to test to see if we > have an entry point or not. This enables the PCI bios to be found now on one test machine I have where it was found before but wasn't used: Using $PIR table, 12 entries at 0xc00f8000 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs slot 1 0 7 A 0x1 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 7 B 0x2 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 7 C 0x3 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 7 D 0x4 3 4 5 6 7 9 10 11 12 14 15 slot 2 0 8 A 0x2 3 4 5 6 7 9 10 11 12 14 15 slot 2 0 8 B 0x3 3 4 5 6 7 9 10 11 12 14 15 slot 2 0 8 C 0x4 3 4 5 6 7 9 10 11 12 14 15 slot 2 0 8 D 0x1 3 4 5 6 7 9 10 11 12 14 15 slot 3 0 9 A 0x3 3 4 5 6 7 9 10 11 12 14 15 slot 3 0 9 B 0x4 3 4 5 6 7 9 10 11 12 14 15 slot 3 0 9 C 0x1 3 4 5 6 7 9 10 11 12 14 15 slot 3 0 9 D 0x2 3 4 5 6 7 9 10 11 12 14 15 slot 4 1 7 A 0x5 3 4 9 10 11 12 14 15 slot 4 1 7 B 0x6 3 4 9 10 11 12 14 15 slot 4 1 7 C 0x7 3 4 9 10 11 12 14 15 slot 4 1 7 D 0x8 3 4 9 10 11 12 14 15 slot 5 1 8 A 0x6 3 4 9 10 11 12 14 15 slot 5 1 8 B 0x7 3 4 9 10 11 12 14 15 slot 5 1 8 C 0x8 3 4 9 10 11 12 14 15 slot 5 1 8 D 0x5 3 4 9 10 11 12 14 15 slot 6 1 11 A 0x7 3 4 9 10 11 12 14 15 slot 6 1 11 B 0x8 3 4 9 10 11 12 14 15 slot 6 1 11 C 0x5 3 4 9 10 11 12 14 15 slot 6 1 11 D 0x6 3 4 9 10 11 12 14 15 slot 7 1 10 A 0x8 3 4 9 10 11 12 14 15 slot 7 1 10 B 0x5 3 4 9 10 11 12 14 15 slot 7 1 10 C 0x6 3 4 9 10 11 12 14 15 slot 7 1 10 D 0x7 3 4 9 10 11 12 14 15 embedded 1 9 A 0x8 3 4 9 10 11 12 14 15 embedded 0 11 A 0x4 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 A 0x5 15 embedded 0 2 D 0x4 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 A 0x5 15 embedded 0 2 D 0x4 3 4 5 6 7 9 10 11 12 14 15 pcib0: <Intel 82454NX PXB#0, Bus#A> at pcibus 0 on motherboard (PCI BIOS routing table debug dump stuff coming later) Speaking of the interrupt routing table, there is a BIOS call you can make to retrieve the darn thing and we should probably do that first and only search memory to find one if the BIOS call fails. Comments? -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020905131424.jhb>