Alan Coopersmith wrote:
 > X.Org is already moving from the current pci scanning to libpciaccess,
 > for which Edward Shu in Sun's Beijing video driver team contributed the
 > Solaris port - I don't know if the interfaces it uses solves the SPARC
 > bus scanning problem or not though.

In the file libpciaccess/solx_devfs.c from the current X.org git tree
there is the following curious code:


  /*
   * Identify problematic southbridges.  These have device id 0x5249 and
   * vendor id 0x10b9.  Check for revision ID 0 and class code 060400 as well.
   * Values are little endian, so they are reversed for SPARC.
   *
   * Check for these southbridges on all architectures, as the issue is a
   * southbridge issue, independent of processor.
   *
   * If one of these is found during probing, skip probing other devs/funcs on
   * the rest of the bus, since the southbridge and all devs underneath will
   * otherwise disappear.
   */
  #if (NATIVE_ENDIAN == PCITOOL_ACC_ATTR_ENDN_BIG)
  #define       U45_SB_DEVID_VID        0xb9104952
  #define       U45_SB_CLASS_RID        0x00000406
  #else
  #define       U45_SB_DEVID_VID        0x524910b9
  #define       U45_SB_CLASS_RID        0x06040000
  #endif

  ... and in probe_dev()

   /*
    * Special case for the type of Southbridge found on
    * Ultra-45 and other sun4u fire workstations.
    */
    if ((config_hdr.dwords[0] == U45_SB_DEVID_VID) &&
       (config_hdr.dwords[2] == U45_SB_CLASS_RID)) {
           rval = ECANCELED;
           break;
    }


What is special about the sun4u bridge?

Pat
---

Reply via email to