cvs commit: src/sys/i386/pci pci_cfgreg.c

John Baldwin jhb at FreeBSD.org
Wed Dec 31 08:56:34 PST 2003


jhb         2003/12/31 08:56:32 PST

  FreeBSD src repository

  Modified files:
    sys/i386/pci         pci_cfgreg.c 
  Log:
  Replace an outb() during the test for configuration mechanism #1 with a
  DELAY(1) instead.  After wading through old commit logs, I found that the
  outb() was added not as part of the test but as an intentional delay. In
  fact, according to Shanley's PCI book, the configuration 1 data and address
  ports should only be accessed using aligned 32-bit accesses (i.e. inl()
  and outl()).  Thus, using outb() to just the last byte of the port violates
  the PCI spec it would seem.  On at least one box doing so broke the probe
  for PCI, whereas changing it to a DELAY(1) fixed the probe.
  
  Reported by:    Sean Welch <welchsm at earthlink.net>
  MFC after:      1 week
  
  Revision  Changes    Path
  1.108     +1 -1      src/sys/i386/pci/pci_cfgreg.c


More information about the cvs-src mailing list