Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH 09/15] irq: arm: perform irqentry in entry code | From | Vladimir Murzin <> | Date | Sat, 23 Oct 2021 14:36:52 +0100 |
| |
On 10/23/21 2:18 PM, Marc Zyngier wrote: > On Sat, 23 Oct 2021 13:06:25 +0100, > Vladimir Murzin <vladimir.murzin@arm.com> wrote: >> >> On 10/22/21 7:43 PM, Marc Zyngier wrote: >>> On Fri, 22 Oct 2021 18:58:54 +0100, >>> Mark Rutland <mark.rutland@arm.com> wrote: >>>> >>>> On Fri, Oct 22, 2021 at 05:34:20PM +0100, Vladimir Murzin wrote: > > [...] > >>>>> As for TODO, is [1] look something you have been thinking of? IIUC, >>>>> the show stopper is that hwirq is being passed from exception entry >>>>> which retrieved via xPSR (IPSR to be precise). OTOH hwirq also available >>>>> via Interrupt Controller Status Register (ICSR) thus can be used in >>>>> driver itself... I gave [1] a go and it runs fine, yet I admit I might >>>>> be missing something... >>>> >>>> I hadn't thought about it in much detail, but that looks good! >>>> >>>> I was wondering if we needed something like a >>>> handle_arch_vectored_irq(), but if we can rely on the ICSR that seems >>>> simpler overall. I'm not at all familiar with M-class, so I'm not sure >>>> if there are pitfalls in this area. >>> >>> Why can't we just use IPSR instead from the C code? It has the >>> potential of being of lower latency then a MMIO read (though I have no >>> idea whether it makes a material difference on M-class) and from what >>> I can see in the arch spec, they are strictly equivalent. >> >> Hmmm, less arch specific asm(s) in driver code, no? > > Well, it isn't like this driver is going to be useful on anything > else, is it? >
Well, with some work to unwire it from arch/arm it can be COMPILE_TEST :)
> If there is no overhead in reading from MMIO compared to the > architected register, then I agree that ICSR is the way to > go. Is there any chance you could measure it on a HW platform? Or > maybe in emulation?
My MPS{2,3} boards left in office and I'm on holiday next week... OTOH, I have no strong opinion on ICSR vs IPSR, I just wanted to check how much work it'd be to close TODO per my (quite limited) understanding :)
Cheers Vladimir
> > Thanks, > > M. >
| ![\](/images/icornerr.gif) |