cvs commit: src/sys/amd64/amd64 intr_machdep.c src/sys/arm/arm intr.c src/sys/i386/i386 intr_machdep.c src/sys/ia64/ia64 interrupt.c src/sys/kern kern_intr.c src/sys/powerpc/powerpc intr_machdep.c src/sys/sparc64/sparc64 intr_machdep.c ...

John Baldwin jhb at
Sat Apr 5 19:58:30 UTC 2008

jhb         2008-04-05 19:58:30 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      intr_machdep.c 
    sys/arm/arm          intr.c 
    sys/i386/i386        intr_machdep.c 
    sys/ia64/ia64        interrupt.c 
    sys/kern             kern_intr.c 
    sys/powerpc/powerpc  intr_machdep.c 
    sys/sparc64/sparc64  intr_machdep.c 
    sys/sun4v/sun4v      intr_machdep.c 
    sys/sys              interrupt.h 
  Add a MI intr_event_handle() routine for the non-INTR_FILTER case.  This
  allows all the INTR_FILTER #ifdef's to be removed from the MD interrupt
  - Rename the intr_event 'eoi', 'disable', and 'enable' hooks to
    'post_filter', 'pre_ithread', and 'post_ithread' to be less x86-centric.
    Also, add a comment describe what the MI code expects them to do.
  - On amd64, i386, and powerpc this is effectively a NOP.
  - On arm, don't bother masking the interrupt unless the ithread is
    scheduled in the non-INTR_FILTER case to match what INTR_FILTER did.
    Also, don't bother unmasking the interrupt in the post_filter case if
    we never masked it.  The INTR_FILTER case had been doing this by having
    arm_unmask_irq for the post_filter (formerly 'eoi') hook.
  - On ia64, stray interrupts are now masked for the non-INTR_FILTER case.
    They were already masked in the INTR_FILTER case.
  - On sparc64, use the a NULL pre_ithread hook and use intr_enable_eoi() for
    both the 'post_filter' and 'post_ithread' hooks to match what the
    non-INTR_FILTER code did.
  - On sun4v, retire the ithread wrapper hack by using an appropriate
    'post_ithread' hook instead (it's what 'post_ithread'/'enable' was
    designed to do even in 5.x).
  Glanced at by:  piso
  Reviewed by:    marius
  Requested by:   marius [1], [5]
  Tested on:      amd64, i386, arm, sparc64
  Revision  Changes    Path
  1.40      +2 -111    src/sys/amd64/amd64/intr_machdep.c
  1.20      +3 -43     src/sys/arm/arm/intr.c
  1.35      +2 -121    src/sys/i386/i386/intr_machdep.c
  1.65      +4 -46     src/sys/ia64/ia64/interrupt.c
  1.160     +105 -21   src/sys/kern/kern_intr.c
  1.20      +1 -45     src/sys/powerpc/powerpc/intr_machdep.c
  1.31      +3 -51     src/sys/sparc64/sparc64/intr_machdep.c
  1.10      +14 -79    src/sys/sun4v/sun4v/intr_machdep.c
  1.40      +34 -17    src/sys/sys/interrupt.h

More information about the cvs-all mailing list