Date: Fri, 26 Dec 2003 09:44:02 -0800 (PST) From: Sean Welch <welchsm@earthlink.net> To: John Baldwin <jhb@FreeBSD.org> Cc: freebsd-hackers@FreeBSD.org Subject: RE: Unprobed PCI bus on VXPro II chipset Message-ID: <21298231.1072460642403.JavaMail.root@grover.psp.pas.earthlink.net>
next in thread | raw e-mail | index | archive | help
5.x is okay by me, but I'll have to reinstall it. I'm trying out the change you asked me to under 4.9-RELEASE right now; the machine is pretty slow so it takes a bit over an hour to recompile the kernel. My responses are going to be pretty slow. ;-) I've noticed that scanpci seems a tad confused at times. It seems that the first time I run it it tells me that there are no pci devices. The other times it gives me a listing. At any rate, the output is: pci bus 0x0000 cardnum 0x05 function 0x00: vendor 0x3388 device 0x8011 Hint Corp VXPro II Chipset STATUS 0x24a0 COMMAND 0x0007 CLASS 0x06 0x00 0x00 REVISION 0x00 BIST 0x00 HEADER 0x80 LATENCY 0x40 CACHE 0x00 pci bus 0x0000 cardnum 0x05 function 0x01: vendor 0x3388 device 0x8012 Hint Corp VXPro II Chipset STATUS 0x24a0 COMMAND 0x0007 CLASS 0x06 0x01 0x00 REVISION 0x00 BIST 0x00 HEADER 0x80 LATENCY 0x40 CACHE 0x00 pci bus 0x0000 cardnum 0x05 function 0x02: vendor 0x3388 device 0x8013 Hint Corp VXPro II IDE STATUS 0x0380 COMMAND 0x0001 CLASS 0x01 0x01 0x00 REVISION 0x00 BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00 pci bus 0x0000 cardnum 0x08 function 0x00: vendor 0x109e device 0x036e Brooktree Corporation Bt878 Video Capture CardVendor 0x0070 card 0x13eb (Hauppauge computer works Inc. WinTV Series) STATUS 0x0280 COMMAND 0x0106 CLASS 0x04 0x00 0x00 REVISION 0x02 BIST 0x00 HEADER 0x80 LATENCY 0x40 CACHE 0x00 BASE0 0xffafe008 addr 0xffafe000 MEM PREFETCHABLE MAX_LAT 0x28 MIN_GNT 0x10 INT_PIN 0x01 INT_LINE 0x09 pci bus 0x0000 cardnum 0x08 function 0x01: vendor 0x109e device 0x0878 Brooktree Corporation Bt878 Audio Capture CardVendor 0x0070 card 0x13eb (Hauppauge computer works Inc. WinTV Series) STATUS 0x0280 COMMAND 0x0106 CLASS 0x04 0x80 0x00 REVISION 0x02 BIST 0x00 HEADER 0x80 LATENCY 0x40 CACHE 0x00 BASE0 0xffaff008 addr 0xffaff000 MEM PREFETCHABLE MAX_LAT 0xff MIN_GNT 0x04 INT_PIN 0x01 INT_LINE 0x09 pci bus 0x0000 cardnum 0x09 function 0x00: vendor 0x1106 device 0x3038 VIA Technologies, Inc. USB CardVendor 0x0925 card 0x1234 (VIA Technologies, Inc. (Wrong ID) USB Controller ) STATUS 0x4200 COMMAND 0x0117 CLASS 0x0c 0x03 0x00 REVISION 0x04 BIST 0x00 HEADER 0x00 LATENCY 0x40 CACHE 0x08 BASE4 0x0000ef81 addr 0x0000ef80 I/O MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b pci bus 0x0000 cardnum 0x0a function 0x00: vendor 0x5333 device 0x8901 S3 Inc. 86c775/86c785 [Trio 64V2/DX or /GX] STATUS 0x0200 COMMAND 0x0003 CLASS 0x03 0x00 0x00 REVISION 0x16 BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00 BASE0 0xec000000 addr 0xec000000 MEM BASEROM 0xebff0000 addr 0xebff0000 not-decode-enabled MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x00 I hope that helps to some degree. Anything else I can provide immediately? Sean -----Original Message----- From: John Baldwin <jhb@FreeBSD.org> Sent: Dec 26, 2003 9:00 AM To: Sean Welch <Sean_Welch@alum.wofford.org> Cc: freebsd-hackers@FreeBSD.org Subject: RE: Unprobed PCI bus on VXPro II chipset On 24-Dec-2003 Sean Welch wrote: > As I'm not quite sure where I should be asking for help with this I figured > I'd try shooting the info over to freebsd-hackers (as it seemed the closest > match). > > I've got an oldish machine (EDO RAM and such) running a VXPro II chipset. > I have successfully configured FreeBSD from 2.2.8 up to 5-CURRENT to run > on this thing but I've never managed to get it to probe and attach anything > on the PCI bus. Here's what I've found and what I've tried. > > I believe the motherboard was sold as PCChips kit. Looking up the stats > I find that it was a rebrand of Hint Co. hardware. The PCI IDs are actually > listed in /usr/share/misc/pci_vendors and look like this: > > 3388 Hint Corp. > 0020 HB6 UNIVERSAL PCI-PCI BRIDGE > 0021 HB1-SE33 PCI-to-PCI Bridge > 8011 VXPro II Chipset CPU to PCI Bridge > 8012 VXPro II Chipset PCI to ISA Bridge > 8013 VXPro II Chipset EIDE Controller > > I found a commit notice online to the linux kernel that contained these > same IDs so it looks like the complete string should be "33880020", > "33880021", etc. I also managed to find this message from *long* > ago: > > http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=Pine.BSF.3.96.990120135600.282 > 21A-100000_gate1.ilhadamagia.com.br%40ns.sol.net&rnum=5&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF- > 8%26oe%3DUTF-8%26q%3Dfreebsd%2Bvxpro%26btnG%3DGoogle%2BSearch > > I'm currently running 4.9-RELEASE. The uname -a output is: > > FreeBSD 4.9-RELEASE FreeBSD 4.9-RELEASE #5: Tue Oct 14 11:51:28 CDT 2003 > root@:/usr/src/sys/compile/WARPPHYS i386 What I'd like to do is get 5.x working first and then MFC the fix if that is ok. > Poking around I discovered that pcibus.c no longer contains the code > referenced in the above message (but that didn't stop me). I found > it instead in pci_cfgreg.c and tried adding the explicit set of oldval1 to > zero but no joy. I ended up adding the PCI IDs to both > /usr/src/sys/i386/isa/pcibus.c and also /usr/src/sys/pci/pcisupport.c > in the effort to get the chipset recognized. No go. > > When I boot verbose this is all I can get about the PCI bus: > > pci_open(1): mode 1 addr port (0x0cf8) is 0x0000ff00 > pci_open(1a): mode1res=0x00000000 (0x80000000) > pci_open(1b): mode1res=0x00007020 (0xff000001) > pci_open(2): mode 2 enable port (0x0cf8) is 0xff Well, your BIOS seems to be broken. Maybe. Can you send me the output of scanpci -v? I'm curious what method it uses to access PCI config space. Also, can you try this change: Index: pci_cfgreg.c =================================================================== RCS file: /usr/cvs/src/sys/i386/pci/pci_cfgreg.c,v retrieving revision 1.107 diff -u -r1.107 pci_cfgreg.c --- pci_cfgreg.c 3 Nov 2003 21:53:38 -0000 1.107 +++ pci_cfgreg.c 26 Dec 2003 16:38:13 -0000 @@ -732,7 +732,7 @@ devmax = 32; outl(CONF1_ADDR_PORT, CONF1_ENABLE_CHK); - outb(CONF1_ADDR_PORT + 3, 0); + DELAY(1); mode1res = inl(CONF1_ADDR_PORT); outl(CONF1_ADDR_PORT, oldval1); All accesses to CONF1_ADDR_PORT and friends are supposed to be using inl and outl. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?21298231.1072460642403.JavaMail.root>