cvs commit: src/sys/sparc64/pci apb.c ofw_pci_if.m ofw_pcib.c ofw_pcib_subr.c ofw_pcib_subr.h ofw_pcibus.c psycho.c psychovar.h

Marius Strobl marius at FreeBSD.org
Thu Apr 17 12:38:02 UTC 2008


marius      2008-04-17 12:38:00 UTC

  FreeBSD src repository

  Modified files:
    sys/sparc64/pci      apb.c ofw_pci_if.m ofw_pcib.c 
                         ofw_pcib_subr.c ofw_pcib_subr.h 
                         ofw_pcibus.c psycho.c psychovar.h 
  Log:
  On sparc64 machines with multiple host-PCI-bridges these bridges
  have separate configuration spaces so by definition they implement
  different PCI domains. Thus change psycho(4) to use PCI domains
  instead of reenumerating all PCI busses so they have globally unique
  bus numbers and drop support for reenumerating busses in the OFW PCI
  code.
  According to CVS history reenumeration was also required in order to
  get some E450 to boot but given that no other open source kernel
  changes the PCI bus numbers assigned by the firmware I believe the
  real problem was that the old code used the bus number as the device
  number for the PCI busses and unlike most of the other machines the
  firmwares of the problematic ones don't use disjoint PCI bus numbers
  across the host-PCI-bridges.
  
  MFC after:      1 month
  
  Revision  Changes    Path
  1.15      +7 -5      src/sys/sparc64/pci/apb.c
  1.9       +0 -35     src/sys/sparc64/pci/ofw_pci_if.m
  1.9       +0 -3      src/sys/sparc64/pci/ofw_pcib.c
  1.9       +0 -39     src/sys/sparc64/pci/ofw_pcib_subr.c
  1.4       +0 -1      src/sys/sparc64/pci/ofw_pcib_subr.h
  1.18      +0 -4      src/sys/sparc64/pci/ofw_pcibus.c
  1.74      +12 -59    src/sys/sparc64/pci/psycho.c
  1.18      +2 -3      src/sys/sparc64/pci/psychovar.h


More information about the cvs-src mailing list