From: Marc Zyngier <maz@kernel.org>
To: Neeraj Upadhyay <neeraju@codeaurora.org>
Cc: julien.thierry.kdev@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: Query regarding pseudo nmi support on GIC V3 and request_nmi()
Date: Fri, 8 May 2020 13:27:40 +0100 [thread overview]
Message-ID: <20200508132740.2d645ea2@why> (raw)
In-Reply-To: <2f41b2e8-925e-3869-da39-fd4ab28ca1b1@codeaurora.org>
On Fri, 8 May 2020 16:36:42 +0530
Neeraj Upadhyay <neeraju@codeaurora.org> wrote:
> Hi Marc,
>
> On 5/8/2020 4:15 PM, Marc Zyngier wrote:
> > On Thu, 07 May 2020 17:06:19 +0100,
> > Neeraj Upadhyay <neeraju@codeaurora.org> wrote:
> >>
> >> Hi,
> >>
> >> I have one query regarding pseudo NMI support on GIC v3; from what I
> >> could understand, GIC v3 supports pseudo NMI setup for SPIs and PPIs.
> >> However the request_nmi() in irq framework requires NMI to be per cpu
> >> interrupt source (it checks for IRQF_PERCPU). Can you please help
> >> understand this part, how SPIs can be configured as NMIs, if there is
> >> a per cpu interrupt source restriction?
> >
> > Let me answer your question by another question: what is the semantic
> > of a NMI if you can't associate it with a particular CPU?
> >
>
> I was actually thinking of a use case, where, we have a watchdog
> interrupt (which is a SPI), which is used for detecting software
> hangs and cause device reset; If that interrupt's current cpu
> affinity is on a core, where interrupts are disabled, we won't be
> able to serve it; so, we need to group that interrupt as an fiq;
Linux doesn't use Group-0 interrupts, as they are strictly secure
(unless your SoC doesn't have EL3, which I doubt).
> I was thinking, if its feasible to mark that interrupt as pseudo NMI
> and route it to EL1 as irq. However, looks like that is not the
> semantic of a NMI and we would need something like pseudo NMI ipi for
> this.
Sending a NMI IPI from another NMI handler? Even once I've added these,
there is no way this will work for that particular scenario. Just look
at the restrictions we impose on NMIs.
Frankly, if all you need to do is to reset the SoC, use EL3 firmware.
That is what it is for.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2020-05-08 12:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-07 16:06 Query regarding pseudo nmi support on GIC V3 and request_nmi() Neeraj Upadhyay
2020-05-08 10:45 ` Marc Zyngier
2020-05-08 11:06 ` Neeraj Upadhyay
2020-05-08 12:27 ` Marc Zyngier [this message]
2020-05-08 12:39 ` Neeraj Upadhyay
2020-05-08 12:53 ` Marc Zyngier
2020-05-08 13:34 ` Neeraj Upadhyay
2020-05-08 16:11 ` Marc Zyngier
2020-05-08 16:16 ` Neeraj Upadhyay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200508132740.2d645ea2@why \
--to=maz@kernel.org \
--cc=julien.thierry.kdev@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=neeraju@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).