From: marc.zyngier@arm•com (Marc Zyngier)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 2/3] arm64: dts: add the Alpine v2 EVP
Date: Tue, 9 Feb 2016 11:48:26 +0000 [thread overview]
Message-ID: <56B9D20A.8010709@arm.com> (raw)
In-Reply-To: <CABM=7k=-Y+eFB2nUMfMjd3saTSNDsEyfHyYNf-ef8qQc5jCsxA@mail.gmail.com>
On 09/02/16 10:13, Tsahee Zidenberg wrote:
> On 9 February 2016 at 11:30, Marc Zyngier <marc.zyngier@arm•com> wrote:
>>
>> On 09/02/16 09:14, Tsahee Zidenberg wrote:
>>>
>>>
>>> On 9 February 2016 at 11:09, Marc Zyngier <marc.zyngier@arm•com
>>> <mailto:marc.zyngier@arm•com>> wrote:
>>>
>>> On 09/02/16 09:01, Antoine Tenart wrote:
>>> > On Tue, Feb 09, 2016 at 09:56:33AM +0100, Antoine Tenart wrote:
>>> >> Hi Marc,
>>> >>
>>> >> On Mon, Feb 08, 2016 at 03:29:33PM +0000, Marc Zyngier wrote:
>>> >>> On 08/02/16 09:11, Antoine Tenart wrote:
>>> >>>
>>> >>>> + gic: gic at f0100000 {
>>> >>>> + compatible = "arm,gic-v3";
>>> >>>> + reg = <0x0 0xf0200000 0x0 0x10000>, /* GIC Dist */
>>> >>>> + <0x0 0xf0280000 0x0 0x200000>, /* GICR */
>>> >>>> + <0x0 0xf0100000 0x0 0x2000>; /* GICC */
>>> >>>> + interrupt-controller;
>>> >>>> + #interrupt-cells = <3>;
>>> >>>> + };
>>> >>>
>>> >>> Something is wrong here. Either you are missing GICH and GICV (assuming
>>> >>> you have legacy support), or you have an extra GICC region (which
>>> >>> doesn't make sense on its own).
>>> >>
>>> >> I'll add the missing regions.
>>> >
>>> > Hmm, in fact the GICC region shouldn't be there. I'll make some tests
>>> > and remove it.
>>>
>>> If you have a GICv3 with legacy support, you will probably have GICC,
>>> GICH and GICV. Linux itself will only use GICD and GICR, but it needs at
>>> least GICV to be able to virtualize GICv2 guests. And GICV is not
>>> allowed to exist without GICC and GICH, so I really recommend that you
>>> keep GICC around.
>>>
>>>
>>> We use the GIC without legacy support (we disable it in early boot
>>> stages), so I think removing the GICC region is the better solution.
>>
>> Disabling legacy support doesn't mean that:
>> - the HW isn't present
>> - the associated regions are not useful
>>
> By "disabling lecgacy support in early boot" I don't just mean that
> ARE bit will be set, but it will actually be RAO/WI. There will be no
> way for SW to enable it and use these registers (which, sadly, means
> that there will be no way to enable gicv2 virtualization). If you
> insist - I will dig up the supposed location of GICV and GICH - yet it
> will be both untested and entirely unusable.
Just to make sure you are not missing the point: ARE==1 does *not* mean
that GICV is unusable. Quite the opposite. It only makes it illegal to
use GICC and GICH, but leaves GICV usable for a guest.
So the real question is: do you have any additional HW that would
actively prevent GICV from being used? If the answer to that is "no",
and assuming your GICv3 implementation is compliant with the
architecture, then GICV will be usable, and you should document all 3
regions.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2016-02-09 11:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-08 9:11 [PATCH 0/3] arm64: introduce the Alpine support Antoine Tenart
2016-02-08 9:11 ` [PATCH 1/3] arm64: add Alpine SoC family Antoine Tenart
2016-02-08 9:11 ` [PATCH 2/3] arm64: dts: add the Alpine v2 EVP Antoine Tenart
2016-02-08 10:51 ` Mark Rutland
2016-02-08 11:00 ` Antoine Tenart
2016-02-08 12:20 ` Arnd Bergmann
2016-02-09 10:18 ` Antoine Tenart
2016-02-08 15:29 ` Marc Zyngier
2016-02-09 8:56 ` Antoine Tenart
2016-02-09 9:01 ` Antoine Tenart
2016-02-09 9:09 ` Marc Zyngier
[not found] ` <CABM=7knaepbyy4nw_GczVM7E_t6py7gG0ERs8ru_AYoVXvAQ+A@mail.gmail.com>
2016-02-09 9:30 ` Marc Zyngier
2016-02-09 10:13 ` Tsahee Zidenberg
2016-02-09 10:42 ` Marc Zyngier
2016-02-09 11:48 ` Marc Zyngier [this message]
2016-02-09 13:54 ` Tsahee Zidenberg
2016-02-08 9:11 ` [PATCH 3/3] arm64: defconfig: enable the Alpine family Antoine Tenart
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=56B9D20A.8010709@arm.com \
--to=marc.zyngier@arm$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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