diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2008-02-04 11:41:01 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-02-04 12:52:25 -0500 |
commit | c4057f5260650f165054bc56e16acc4aa0510d4f (patch) | |
tree | 8f1bf4de169c49fc61dd6dc0717b1d184c067d39 /include/asm-arm/arch-realview/entry-macro.S | |
parent | 7dd19e755dbe481ae42590dbd921dfd47e94779c (diff) |
[ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
This patch modifies the get_irqnr_preamble macro to work with multiple
platforms at run-time by reading the address of the GIC controller from
the gic_cpu_base_addr variable. This variable is defined in core.c and
intialised in realview_eb.c (gic_init_irq).
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-realview/entry-macro.S')
-rw-r--r-- | include/asm-arm/arch-realview/entry-macro.S | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/include/asm-arm/arch-realview/entry-macro.S b/include/asm-arm/arch-realview/entry-macro.S index 629944deed50..cd26306d8e57 100644 --- a/include/asm-arm/arch-realview/entry-macro.S +++ b/include/asm-arm/arch-realview/entry-macro.S | |||
@@ -9,17 +9,13 @@ | |||
9 | */ | 9 | */ |
10 | #include <asm/hardware.h> | 10 | #include <asm/hardware.h> |
11 | #include <asm/hardware/gic.h> | 11 | #include <asm/hardware/gic.h> |
12 | #include <asm/arch/board-eb.h> | ||
13 | 12 | ||
14 | .macro disable_fiq | 13 | .macro disable_fiq |
15 | .endm | 14 | .endm |
16 | 15 | ||
17 | .macro get_irqnr_preamble, base, tmp | 16 | .macro get_irqnr_preamble, base, tmp |
18 | #ifdef CONFIG_REALVIEW_MPCORE | 17 | ldr \base, =gic_cpu_base_addr |
19 | ldr \base, =IO_ADDRESS(REALVIEW_EB11MP_GIC_CPU_BASE) | 18 | ldr \base, [\base] |
20 | #else | ||
21 | ldr \base, =IO_ADDRESS(REALVIEW_GIC_CPU_BASE) | ||
22 | #endif | ||
23 | .endm | 19 | .endm |
24 | 20 | ||
25 | .macro arch_ret_to_user, tmp1, tmp2 | 21 | .macro arch_ret_to_user, tmp1, tmp2 |