cvs commit: src/sys/amd64/amd64 msi.c nexus.c src/sys/amd64/include intr_machdep.h src/sys/i386/i386 msi.c nexus.c src/sys/i386/include intr_machdep.h

John Baldwin jhb at
Wed Aug 15 14:12:08 PDT 2007

jhb         2007-08-15 21:12:08 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/amd64/amd64      msi.c nexus.c 
    sys/amd64/include    intr_machdep.h 
    sys/i386/i386        msi.c nexus.c 
    sys/i386/include     intr_machdep.h 
  MFC: Partial MFC of earlier minor fixes and tweaks to x86 interrupt code:
  - Add a new nexus hook: nexus_add_irq() to ask the nexus driver to add an
    IRQ to its irq_rman.  The MSI code uses this when it creates new
    interrupt sources to let the nexus know about newly valid IRQs.
    Previously the msi_alloc() and msix_alloc() passed some extra stuff
    back to the nexus methods which then added the IRQs.  This approach is
    a bit cleaner.
  - Change the MSI sx lock to a mutex.  If we need to create new sources,
    drop the lock, create the required number of sources, then get the lock
    and try the allocation again.
  Revision  Changes    Path   +55 -48    src/sys/amd64/amd64/msi.c  +11 -15    src/sys/amd64/amd64/nexus.c   +3 -3      src/sys/amd64/include/intr_machdep.h   +55 -48    src/sys/i386/i386/msi.c  +11 -15    src/sys/i386/i386/nexus.c   +3 -3      src/sys/i386/include/intr_machdep.h

More information about the cvs-src mailing list