Thread (1 message) 1 message, 1 author, 2015-02-19

Re: [PATCH] arm64: dts: Fix GIC reg sizes for APM X-Gene

From: Rob Herring <hidden>
Date: 2015-02-19 18:23:15
Also in: kvmarm, linux-arm-kernel

On Tue, Jan 27, 2015 at 1:03 AM, Pranavkumar Sawargaonkar
[off-list ref] wrote:
In APM X-Gene, GIC register space is 64K aligned while the sizes mentioned
in the dt are 4K aligned. This breaks KVM when kernel is built with 64K page
size due to size alignment checking in vgic driver for VCPU Control and
VCPU register.

This patch corrects the sizes to be inline with the hardware spec.
This does not make sense. The GIC regions are still only 4 or 8KB and
the h/w description should reflect that. For implementations using
gic-400 and the addressing decode trick, the rest of the register
range is also not safe to access given it is multiple mapped. Also,
this wastes virtual space, but I guess we don't care on 64-bit.

KVM should be fixed to only check base address alignment. Size
alignment does not matter (if it does, then you need to fix all
register blocks).

Rob
quoted hunk
CC: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
CC: kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org
CC: arnd-r2nGTMty4D4@public.gmane.org
CC: marc.zyngier-5wv7dgnIgG8@public.gmane.org
CC: christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
CC: jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Signed-off-by: Pranavkumar Sawargaonkar <redacted>
Signed-off-by: Tushar Jagad <redacted>
Signed-off-by: Feng Kan <redacted>
---
 arch/arm64/boot/dts/apm/apm-storm.dtsi |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/apm/apm-storm.dtsi b/arch/arm64/boot/dts/apm/apm-storm.dtsi
index f1ad9c2..65f0e6d 100644
--- a/arch/arm64/boot/dts/apm/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi
@@ -81,10 +81,10 @@
                compatible = "arm,cortex-a15-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
-               reg = <0x0 0x78010000 0x0 0x1000>,      /* GIC Dist */
-                     <0x0 0x78020000 0x0 0x1000>,      /* GIC CPU */
-                     <0x0 0x78040000 0x0 0x2000>,      /* GIC VCPU Control */
-                     <0x0 0x78060000 0x0 0x2000>;      /* GIC VCPU */
+               reg = <0x0 0x78010000 0x0 0x10000>,     /* GIC Dist */
+                     <0x0 0x78020000 0x0 0x20000>,     /* GIC CPU */
+                     <0x0 0x78040000 0x0 0x10000>,     /* GIC VCPU Control */
+                     <0x0 0x78060000 0x0 0x20000>;     /* GIC VCPU */
                interrupts = <1 9 0xf04>;       /* GIC Maintenence IRQ */
        };

--
1.7.9.5


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help