RE: Unprobed PCI bus on VXPro II chipset

From: Sean Welch (welchsm_at_earthlink.net)
Date: 12/26/03

  • Next message: Sean Welch: "RE: Unprobed PCI bus on VXPro II chipset"
    Date: Fri, 26 Dec 2003 09:44:02 -0800 (PST)
    To: John Baldwin <jhb@FreeBSD.org>
    
    

    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/
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
    

  • Next message: Sean Welch: "RE: Unprobed PCI bus on VXPro II chipset"

    Relevant Pages