All of lore.kernel.org
 help / color / mirror / Atom feed
From: panand@redhat.com (Pratyush Anand)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM64: gic: Do not allow bypass FIQ signals to reach to processor
Date: Tue, 03 Mar 2015 16:07:05 +0530	[thread overview]
Message-ID: <54F58ED1.2050401@redhat.com> (raw)
In-Reply-To: <54F57C0A.6030906@arm.com>



On Tuesday 03 March 2015 02:46 PM, Marc Zyngier wrote:
> On 03/03/15 03:12, Pratyush Anand wrote:
>>
>> On Friday 13 February 2015 01:43 PM, Pratyush Anand wrote:
>>> Hi Jason,
>>>
>>> On Monday 09 February 2015 11:48 AM, Pratyush Anand wrote:
>>>> In some case few signals of an IP(like PMU Overflow in APM88xx0x) can be
>>>> mapped to nLEGACYFIQ, ie nFIQ of CPU. Until ARM64 supports FIQ handling,
>>>> we will get nice "Bad mode in FIQ handler detected"
>>>>
>>>> Therefore force FIQBypDisGrp1 to '1', so that bypass FIQ signal is not
>>>> signaled to the processor.
>>>>
>>>
>>> Please review this patch.
>>
>> ping
>>
>>>
>>> ~Pratyush
>>>
>>>> Signed-off-by: Pratyush Anand <panand@redhat.com>
>>>> ---
>>>>    drivers/irqchip/irq-gic.c       | 9 ++++++++-
>>>>    include/linux/irqchip/arm-gic.h | 1 +
>>>>    2 files changed, 9 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
>>>> index d617ee5a3d8a..525dfc966e60 100644
>>>> --- a/drivers/irqchip/irq-gic.c
>>>> +++ b/drivers/irqchip/irq-gic.c
>>>> @@ -362,7 +362,14 @@ static void gic_cpu_if_up(void)
>>>>        */
>>>>        bypass = readl(cpu_base + GIC_CPU_CTRL);
>>>>        bypass &= GICC_DIS_BYPASS_MASK;
>>>> -
>>>> +#ifdef CONFIG_ARM64
>>>> +    /* FIXME: when ARM64 starts supporting FIQ mode.
>>>> +     *
>>>> +     * Until ARM64 supports FIQ handling, force FIQBypDisGrp1 to
>>>> +     * '1', so that bypass FIQ signal is not signaled to the processor.
>>>> +     */
>>>> +    bypass |= GICC_DIS_BYPASS_FIQ_TO_CPU;
>>>> +#endif
>
> This doesn't feel like the right approach at all. We have a bypass mask
> already, for the same HW.
>
> But more importantly, FIQBypDisGrp0 is only available in secure mode,
> while the arm64 kernel only runs in non-secure. I understand that the
> APM HW doesn't have a secure mode, but the GIC definitely has.
>
> I suggest you move that change to your firmware, and make sure that the
> kernel is only presented the non-secure version of the CPU interface.
>

Thanks Marc for your input.

~Pratyush

      reply	other threads:[~2015-03-03 10:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-09  6:18 [PATCH] ARM64: gic: Do not allow bypass FIQ signals to reach to processor Pratyush Anand
2015-02-13  8:13 ` Pratyush Anand
2015-03-03  3:12   ` Pratyush Anand
2015-03-03  9:16     ` Marc Zyngier
2015-03-03 10:37       ` Pratyush Anand [this message]

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=54F58ED1.2050401@redhat.com \
    --to=panand@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.