Skip to content
  • John Baldwin's avatar
    Add a MI intr_event_handle() routine for the non-INTR_FILTER case. This · 1ee1b687
    John Baldwin authored
    allows all the INTR_FILTER #ifdef's to be removed from the MD interrupt
    code.
    - 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
    1ee1b687