summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview/include/mach/board-pb11mp.h
diff options
context:
space:
mode:
authorMarc Zyngier <Marc.Zyngier@arm.com>2012-01-24 11:56:02 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-01-25 09:24:36 +0000
commit34ae6c96a6a7db4ed8ec0524bf7fa1086b9ab2ba (patch)
tree9795fe4203ec655830abf22334b4547e3bec4afd /arch/arm/mach-realview/include/mach/board-pb11mp.h
parent171cf94ccb4b476d1d7d694a31d0820558375132 (diff)
downloadop-kernel-dev-34ae6c96a6a7db4ed8ec0524bf7fa1086b9ab2ba.zip
op-kernel-dev-34ae6c96a6a7db4ed8ec0524bf7fa1086b9ab2ba.tar.gz
ARM: 7298/1: realview: fix mapping of MPCore private memory region
Since commit 0536bdf33faf (ARM: move iotable mappings within the vmalloc region), the RealView PB11MP cannot boot anymore. This is caused by the way the mappings are described on this platform (define replaced by hex values for clarity): { /* GIC CPU interface mapping */ .virtual = IO_ADDRESS(0x1F000100), .pfn = __phys_to_pfn(0x1F000100), .length = SZ_4K, .type = MT_DEVICE, }, { /* GIC distributor mapping */ .virtual = IO_ADDRESS(0x1F001000), .pfn = __phys_to_pfn(0x1F001000), .length = SZ_4K, .type = MT_DEVICE, } The first mapping ends up reserving two pages, and clashes with the second one, which triggers a BUG_ON in vm_area_add_early(). In order to solve this problem, treat the MPCore private memory region (containing the SCU, the GIC and the TWD) as a single region, as described in the TRM: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/CACGDJJC.html The EB11MP is converted the same way, even if it manages to avoid the problem. Tested on both PB11MP and EB11MP. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview/include/mach/board-pb11mp.h')
-rw-r--r--arch/arm/mach-realview/include/mach/board-pb11mp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/include/mach/board-pb11mp.h b/arch/arm/mach-realview/include/mach/board-pb11mp.h
index 7abf918..aa2d4e0 100644
--- a/arch/arm/mach-realview/include/mach/board-pb11mp.h
+++ b/arch/arm/mach-realview/include/mach/board-pb11mp.h
@@ -75,6 +75,8 @@
/*
* Testchip peripheral and fpga gic regions
*/
+#define REALVIEW_TC11MP_PRIV_MEM_BASE 0x1F000000
+#define REALVIEW_TC11MP_PRIV_MEM_SIZE SZ_8K
#define REALVIEW_TC11MP_SCU_BASE 0x1F000000 /* IRQ, Test chip */
#define REALVIEW_TC11MP_GIC_CPU_BASE 0x1F000100 /* Test chip interrupt controller CPU interface */
#define REALVIEW_TC11MP_TWD_BASE 0x1F000600
OpenPOWER on IntegriCloud