From: andre.przywara@arm.com (Andre Przywara)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] arm64: dts: add .dts for GICv3 Foundation model
Date: Tue, 13 Oct 2015 20:04:29 +0100 [thread overview]
Message-ID: <561D55BD.5020200@arm.com> (raw)
In-Reply-To: <561CE098.2030906@arm.com>
Hi Marc,
On 13/10/15 11:44, Marc Zyngier wrote:
> On 13/10/15 10:37, Andre Przywara wrote:
>> The ARMv8 Foundation model sports a command line parameter to use
>> a GICv3 emulation instead of the default GICv2 interrupt controller.
>> Add a new .dts file which reuses most of the definitions of the
>> existing model while just adding the required properties for the
>> GICv3 node.
>> This allows the public Foundation model to run with a GICv3.
>>
>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>> ---
>> arch/arm64/boot/dts/arm/Makefile | 2 +-
>> arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts | 30 +++++++++++++++++++++++++
>> 2 files changed, 31 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>>
>> diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile
>> index bb3c072..46d342d 100644
>> --- a/arch/arm64/boot/dts/arm/Makefile
>> +++ b/arch/arm64/boot/dts/arm/Makefile
>> @@ -1,4 +1,4 @@
>> -dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb
>> +dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb foundation-v8-gicv3.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2f-1xv7-ca53x2.dtb
>> diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> new file mode 100644
>> index 0000000..ecdbe98
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> @@ -0,0 +1,30 @@
>> +/*
>> + * ARM Ltd.
>> + *
>> + * ARMv8 Foundation model DTS (GICv3 configuration)
>> + */
>> +
>> +#include "foundation-v8.dtsi"
>> +
>> +/ {
>> + gic: interrupt-controller at 2f000000 {
>> + compatible = "arm,gic-v3";
>> + #interrupt-cells = <3>;
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> + interrupt-controller;
>> + reg = <0x0 0x2f000000 0x0 0x10000>,
>> + <0x0 0x2f100000 0x0 0x200000>,
>> + <0x0 0x2c000000 0x0 0x2000>,
>> + <0x0 0x2c010000 0x0 0x2000>,
>> + <0x0 0x2c02f000 0x0 0x2000>;
>> + interrupts = <1 9 0xf04>;
>> +
>> + its: its at 2f020000 {
>> + compatible = "arm,gic-v3-its";
>> + msi-controller;
>> + reg = <0x0 0x2f020000 0x0 0x20000>;
>> + };
>> + };
>> +};
>>
>
> Do you know if the ITS has any modelled device connected to it? Not very
> useful on its own, but you may want to use it as a way to inject IPIs
> (just kidding, don't do that!).
Well, the ITS itself is there (the driver initializes and all ID
registers match the ARM description).
I tried to squeeze in the PCI node from some other model, but there does
not seem to be any PCI controller at this address, so this panics.
If I get this correctly, the only kind of hardware the model emulates is
the virtio-blk (which is virtio/mmio and thus wired IRQ only?) and the
SMC LAN, which also does not support MSIs.
So indeed there seems to be no user of the ITS so far, but I tend to
leave the ITS node in here anyway: and does not seem to hurt and we get
at least some testing coverage of the basic ITS initialization code.
Cheers,
Andre.
WARNING: multiple messages have this Message-ID (diff)
From: Andre Przywara <andre.przywara-5wv7dgnIgG8@public.gmane.org>
To: Marc Zyngier <marc.zyngier-5wv7dgnIgG8@public.gmane.org>
Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
pawel.moll-5wv7dgnIgG8@public.gmane.org,
mark.rutland-5wv7dgnIgG8@public.gmane.org,
ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
catalin.marinas-5wv7dgnIgG8@public.gmane.org,
will.deacon-5wv7dgnIgG8@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
drjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH 4/4] arm64: dts: add .dts for GICv3 Foundation model
Date: Tue, 13 Oct 2015 20:04:29 +0100 [thread overview]
Message-ID: <561D55BD.5020200@arm.com> (raw)
In-Reply-To: <561CE098.2030906-5wv7dgnIgG8@public.gmane.org>
Hi Marc,
On 13/10/15 11:44, Marc Zyngier wrote:
> On 13/10/15 10:37, Andre Przywara wrote:
>> The ARMv8 Foundation model sports a command line parameter to use
>> a GICv3 emulation instead of the default GICv2 interrupt controller.
>> Add a new .dts file which reuses most of the definitions of the
>> existing model while just adding the required properties for the
>> GICv3 node.
>> This allows the public Foundation model to run with a GICv3.
>>
>> Signed-off-by: Andre Przywara <andre.przywara-5wv7dgnIgG8@public.gmane.org>
>> ---
>> arch/arm64/boot/dts/arm/Makefile | 2 +-
>> arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts | 30 +++++++++++++++++++++++++
>> 2 files changed, 31 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>>
>> diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile
>> index bb3c072..46d342d 100644
>> --- a/arch/arm64/boot/dts/arm/Makefile
>> +++ b/arch/arm64/boot/dts/arm/Makefile
>> @@ -1,4 +1,4 @@
>> -dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb
>> +dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb foundation-v8-gicv3.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2f-1xv7-ca53x2.dtb
>> diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> new file mode 100644
>> index 0000000..ecdbe98
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> @@ -0,0 +1,30 @@
>> +/*
>> + * ARM Ltd.
>> + *
>> + * ARMv8 Foundation model DTS (GICv3 configuration)
>> + */
>> +
>> +#include "foundation-v8.dtsi"
>> +
>> +/ {
>> + gic: interrupt-controller@2f000000 {
>> + compatible = "arm,gic-v3";
>> + #interrupt-cells = <3>;
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> + interrupt-controller;
>> + reg = <0x0 0x2f000000 0x0 0x10000>,
>> + <0x0 0x2f100000 0x0 0x200000>,
>> + <0x0 0x2c000000 0x0 0x2000>,
>> + <0x0 0x2c010000 0x0 0x2000>,
>> + <0x0 0x2c02f000 0x0 0x2000>;
>> + interrupts = <1 9 0xf04>;
>> +
>> + its: its@2f020000 {
>> + compatible = "arm,gic-v3-its";
>> + msi-controller;
>> + reg = <0x0 0x2f020000 0x0 0x20000>;
>> + };
>> + };
>> +};
>>
>
> Do you know if the ITS has any modelled device connected to it? Not very
> useful on its own, but you may want to use it as a way to inject IPIs
> (just kidding, don't do that!).
Well, the ITS itself is there (the driver initializes and all ID
registers match the ARM description).
I tried to squeeze in the PCI node from some other model, but there does
not seem to be any PCI controller at this address, so this panics.
If I get this correctly, the only kind of hardware the model emulates is
the virtio-blk (which is virtio/mmio and thus wired IRQ only?) and the
SMC LAN, which also does not support MSIs.
So indeed there seems to be no user of the ITS so far, but I tend to
leave the ITS node in here anyway: and does not seem to hurt and we get
at least some testing coverage of the basic ITS initialization code.
Cheers,
Andre.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Andre Przywara <andre.przywara@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com,
ijc+devicetree@hellion.org.uk, catalin.marinas@arm.com,
will.deacon@arm.com, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, galak@codeaurora.org,
drjones@redhat.com
Subject: Re: [PATCH 4/4] arm64: dts: add .dts for GICv3 Foundation model
Date: Tue, 13 Oct 2015 20:04:29 +0100 [thread overview]
Message-ID: <561D55BD.5020200@arm.com> (raw)
In-Reply-To: <561CE098.2030906@arm.com>
Hi Marc,
On 13/10/15 11:44, Marc Zyngier wrote:
> On 13/10/15 10:37, Andre Przywara wrote:
>> The ARMv8 Foundation model sports a command line parameter to use
>> a GICv3 emulation instead of the default GICv2 interrupt controller.
>> Add a new .dts file which reuses most of the definitions of the
>> existing model while just adding the required properties for the
>> GICv3 node.
>> This allows the public Foundation model to run with a GICv3.
>>
>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>> ---
>> arch/arm64/boot/dts/arm/Makefile | 2 +-
>> arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts | 30 +++++++++++++++++++++++++
>> 2 files changed, 31 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>>
>> diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile
>> index bb3c072..46d342d 100644
>> --- a/arch/arm64/boot/dts/arm/Makefile
>> +++ b/arch/arm64/boot/dts/arm/Makefile
>> @@ -1,4 +1,4 @@
>> -dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb
>> +dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb foundation-v8-gicv3.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb
>> dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2f-1xv7-ca53x2.dtb
>> diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> new file mode 100644
>> index 0000000..ecdbe98
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
>> @@ -0,0 +1,30 @@
>> +/*
>> + * ARM Ltd.
>> + *
>> + * ARMv8 Foundation model DTS (GICv3 configuration)
>> + */
>> +
>> +#include "foundation-v8.dtsi"
>> +
>> +/ {
>> + gic: interrupt-controller@2f000000 {
>> + compatible = "arm,gic-v3";
>> + #interrupt-cells = <3>;
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> + interrupt-controller;
>> + reg = <0x0 0x2f000000 0x0 0x10000>,
>> + <0x0 0x2f100000 0x0 0x200000>,
>> + <0x0 0x2c000000 0x0 0x2000>,
>> + <0x0 0x2c010000 0x0 0x2000>,
>> + <0x0 0x2c02f000 0x0 0x2000>;
>> + interrupts = <1 9 0xf04>;
>> +
>> + its: its@2f020000 {
>> + compatible = "arm,gic-v3-its";
>> + msi-controller;
>> + reg = <0x0 0x2f020000 0x0 0x20000>;
>> + };
>> + };
>> +};
>>
>
> Do you know if the ITS has any modelled device connected to it? Not very
> useful on its own, but you may want to use it as a way to inject IPIs
> (just kidding, don't do that!).
Well, the ITS itself is there (the driver initializes and all ID
registers match the ARM description).
I tried to squeeze in the PCI node from some other model, but there does
not seem to be any PCI controller at this address, so this panics.
If I get this correctly, the only kind of hardware the model emulates is
the virtio-blk (which is virtio/mmio and thus wired IRQ only?) and the
SMC LAN, which also does not support MSIs.
So indeed there seems to be no user of the ITS so far, but I tend to
leave the ITS node in here anyway: and does not seem to hurt and we get
at least some testing coverage of the basic ITS initialization code.
Cheers,
Andre.
next prev parent reply other threads:[~2015-10-13 19:04 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 9:37 [PATCH 0/4] add support for GICv3 on the Foundation model Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 9:37 ` [PATCH 1/4] arm64: dts: prepare foundation-v8.dts to cope with GICv3 Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-12-09 15:10 ` Marc Zyngier
2015-12-09 15:10 ` Marc Zyngier
2015-10-13 9:37 ` [PATCH 2/4] arm64: dts: Foundation model: increate GICC region to allow EOImode=1 Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 10:42 ` Marc Zyngier
2015-10-13 10:42 ` Marc Zyngier
2015-10-13 10:42 ` Marc Zyngier
2015-12-09 15:09 ` Marc Zyngier
2015-12-09 15:09 ` Marc Zyngier
2015-12-09 15:09 ` Marc Zyngier
2015-10-13 9:37 ` [PATCH 3/4] arm64: dts: split Foundation model dts to put the GIC separately Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-12-09 15:11 ` Marc Zyngier
2015-12-09 15:11 ` Marc Zyngier
2015-10-13 9:37 ` [PATCH 4/4] arm64: dts: add .dts for GICv3 Foundation model Andre Przywara
2015-10-13 9:37 ` Andre Przywara
2015-10-13 10:44 ` Marc Zyngier
2015-10-13 10:44 ` Marc Zyngier
2015-10-13 10:44 ` Marc Zyngier
2015-10-13 19:04 ` Andre Przywara [this message]
2015-10-13 19:04 ` Andre Przywara
2015-10-13 19:04 ` Andre Przywara
2015-12-09 15:12 ` Marc Zyngier
2015-12-09 15:12 ` Marc Zyngier
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=561D55BD.5020200@arm.com \
--to=andre.przywara@arm.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.