On Mon, 1 Aug 2016 15:52:28 +0530
Madhavan Srinivasan wrote:
> On Monday 01 August 2016 02:21 PM, Benjamin Herrenschmidt wrote:
> > On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote:
> >> This will replay hardware_interrupt_common in the case we got a PMI
> >>
On Monday 01 August 2016 02:21 PM, Benjamin Herrenschmidt wrote:
On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote:
This will replay hardware_interrupt_common in the case we got a PMI
interrupt but no EE.
Should we just follow the normal pattern here, return 0xf00 for PMI,
and replay
On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote:
> > +static inline unsigned long soft_irq_set_level(int value)
> > +{
> > + unsigned long flags, zero;
> > +
> > + asm volatile(
> > + "li %1,%3; lbz %0,%2(13); stb %1,%2(13)"
> > + : "=r" (flags), "=" (zero)
On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote:
> This will replay hardware_interrupt_common in the case we got a PMI
> interrupt but no EE.
>
> Should we just follow the normal pattern here, return 0xf00 for PMI,
> and replay the same as the other cases?
Agreed.
Cheers,
Ben.
On Mon, 1 Aug 2016 00:36:28 +0530
Madhavan Srinivasan wrote:
> Code to replay the Performance Monitoring Interrupts(PMI).
> In the masked_interrupt handler, for PMIs we reset the MSR[EE]
> and return. This is due the fact that PMIs are level triggered.
> In the
Code to replay the Performance Monitoring Interrupts(PMI).
In the masked_interrupt handler, for PMIs we reset the MSR[EE]
and return. This is due the fact that PMIs are level triggered.
In the __check_irq_replay(), we enabled the MSR[EE] which will
fire the interrupt for us.
Patch also adds a new