On Wed, 20 Dec 2017 09:25:53 +0530 Madhavan Srinivasan <ma...@linux.vnet.ibm.com> wrote:
> Two new bit mask field "IRQ_DISABLE_MASK_PMU" is introduced to support > the masking of PMI and "IRQ_DISABLE_MASK_ALL" to aid interrupt masking > checking. > > Couple of new irq #defs "PACA_IRQ_PMI" and "SOFTEN_VALUE_0xf0*" added > to use in the exception code to check for PMI interrupts. > > In the masked_interrupt handler, for PMIs we reset the MSR[EE] and > return. In the __check_irq_replay(), replay the PMI interrupt by > calling performance_monitor_common handler. I think we need to add all interrupt types which clear MSR[EE] in their masked handler to the test in may_hard_irq_disable(), otherwise EE can be enabled before all such pending interrupts are replayed. We should define all such interrupts in a mask and use that in may_hard_irq_disable() and corresponding place in masked_##_H##interrupt: Thanks, Nick