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

John Baldwin jhb at FreeBSD.org
Fri Dec 21 08:53:28 PST 2007


jhb         2007-12-21 16:53:28 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/pci         pci_pir.c 
  Log:
  More properly handle links who only have 1 valid IRQ in their bitmask.  The
  old code special cased them too early which caused a few differences for
  these sort of links relative to other PCI links:
  
  - They were always re-routed via the BIOS call instead of assuming that
    they were already routed if the BIOS had programmed the IRQ into a
    matching device during POST.
  - If the BIOS did route that link to a different IRQ that was marked as
    invalid, we trusted the $PIR table rather than the BIOS IRQ.
  
  This change moves the special casing for "unique IRQ" links to only take
  that into account when picking an IRQ for an unrouted link so that these
  links will now not be routed if the BIOS appears to have routed it already
  (some BIOSen have problems with that) and so that if the BIOS uses a
  different IRQ than the $PIR, we trust the BIOS routing instead (this is
  what we do for all other links as well).
  
  Reported by:    Bruce Walter  walter of fortean com
  MFC after:      1 week
  
  Revision  Changes    Path
  1.121     +12 -13    src/sys/i386/pci/pci_pir.c


More information about the cvs-src mailing list