From: Marc Zyngier <marc.zyngier@arm.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
David Vrabel <david.vrabel@citrix.com>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>
Subject: Re: [PATCH] ARM: DT: Add binding for GIC virtualization extentions (VGIC)
Date: Thu, 05 Apr 2012 13:59:56 +0100 [thread overview]
Message-ID: <4F7D974C.9050506@arm.com> (raw)
In-Reply-To: <20120403153538.0D1B83E044A@localhost>
On 03/04/12 16:35, Grant Likely wrote:
Hi Grant,
> On Tue, 03 Apr 2012 10:53:44 +0100, Marc Zyngier <marc.zyngier@arm.com> wrote:
>> On 03/04/12 10:22, David Vrabel wrote:
>>
>> Hi David,
>>
>>> On 02/04/12 17:30, Marc Zyngier wrote:
>>>> The GICv2 can have virtualization extension support, consisting
>>>> of an additional set of registers and interrupts. Add the necessary
>>>> binding to the GIC DT documentation.
>>>
>>> The Xen hypervisor's device tree support is very much incomplete so I've
>>> not looked into this is much detail.
>>>
>>> Would it make more sense to extend the existing gic binding with the the
>>> additional information rather than adding a new node?
>>
>> I'm actually torn between the two approaches. On one side, the VGIC is
>> part of the GIC spec, hence should be part of the GIC node. On the other
>> hand, it is logically handled by a different piece of software (the
>> hypervisor), and would normally be probed separately. Having a separate
>> node makes the probing more sensible.
>
> Don't get too hung up on the software side of things. Describe it in
> a way that makes sense for the hardware. There is lots of precidence
> for two hunks of software initializating from the same node; either by
> probe kicking off two init hooks, or by early init code going looking
> for the node manually.
What I'm trying to avoid is a royal mess in the future if we get some
other extension to the GIC.
Let's say we implement the following:
gic: interrupt-controller@2c001000 {
compatible = "arm,cortex-a15-gic";
#interrupt-cells = <3>;
#address-cells = <1>;
interrupt-controller;
reg = <0x2c001000 0x1000>,
<0x2c002000 0x100>,
<0x2c004000 0x2000>,
<0x2c006000 0x2000>;
interrupts = <1 9 0xf04>;
};
It's all fine (the two last regions and the interrupt are for VGIC),
until someone comes up with extension FOO which requires two new regions
and am interrupt. It is then impossible to distinguish between the two,
short of adding more attributes.
How about this?
gic: interrupt-controller@2c001000 {
compatible = "arm,cortex-a15-gic";
#interrupt-cells = <3>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller;
reg = <0x2c001000 0x1000>,
<0x2c002000 0x100>;
vgic@2c004000 {
compatible = "arm,cortex-a15-vgic", "arm,vgic";
reg = <0x2c004000 0x2000>,
<0x2c006000 0x2000>;
interrupts = <1 9 0xf04>;
};
};
It cleanly separate the extension from the core GIC, and still make it
part of the GIC node.
What do you think?
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2012-04-05 12:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-02 16:30 [PATCH] ARM: DT: Add binding for GIC virtualization extentions (VGIC) Marc Zyngier
2012-04-03 9:22 ` David Vrabel
2012-04-03 9:53 ` Marc Zyngier
2012-04-03 15:35 ` Grant Likely
2012-04-05 12:59 ` Marc Zyngier [this message]
[not found] ` <4F7D974C.9050506-5wv7dgnIgG8@public.gmane.org>
2012-04-05 13:15 ` David Vrabel
2012-04-05 13:34 ` Rob Herring
2012-04-05 14:07 ` Marc Zyngier
[not found] ` <4F7DA71A.4020809-5wv7dgnIgG8@public.gmane.org>
2012-04-05 14:25 ` Rob Herring
2012-04-07 1:35 ` Grant Likely
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=4F7D974C.9050506@arm.com \
--to=marc.zyngier@arm.com \
--cc=david.vrabel@citrix.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=rob.herring@calxeda.com \
/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).