summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos4/include
diff options
context:
space:
mode:
authorChanghwan Youn <chaos.youn@samsung.com>2011-07-16 10:49:51 +0900
committerKukjin Kim <kgene.kim@samsung.com>2011-07-20 23:28:28 +0900
commitaab74d3e753649defa52ea43cbec1e91ebb4cc8e (patch)
tree452f0015f1a78897a8a22ee43ebdc7a8f576c55d /arch/arm/mach-exynos4/include
parente807acbc6fd1d5ff115f9a8eae0c1af6cf1c46c6 (diff)
downloadop-kernel-dev-aab74d3e753649defa52ea43cbec1e91ebb4cc8e.zip
op-kernel-dev-aab74d3e753649defa52ea43cbec1e91ebb4cc8e.tar.gz
ARM: EXYNOS4: Add support external GIC
For full support of power modes, this patch adds implementation external GIC on EXYNOS4. External GIC of Exynos4 cannot support register banking so several interrupt related code for CPU1 should be different from that of CPU0. Signed-off-by: Changhwan Youn <chaos.youn@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos4/include')
-rw-r--r--arch/arm/mach-exynos4/include/mach/entry-macro.S5
-rw-r--r--arch/arm/mach-exynos4/include/mach/map.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/include/mach/entry-macro.S b/arch/arm/mach-exynos4/include/mach/entry-macro.S
index d8f38c2..4fad076 100644
--- a/arch/arm/mach-exynos4/include/mach/entry-macro.S
+++ b/arch/arm/mach-exynos4/include/mach/entry-macro.S
@@ -10,6 +10,7 @@
*/
#include <mach/hardware.h>
+#include <mach/map.h>
#include <asm/hardware/gic.h>
.macro disable_fiq
@@ -18,6 +19,10 @@
.macro get_irqnr_preamble, base, tmp
ldr \base, =gic_cpu_base_addr
ldr \base, [\base]
+ mrc p15, 0, \tmp, c0, c0, 5
+ and \tmp, \tmp, #3
+ cmp \tmp, #1
+ addeq \base, \base, #EXYNOS4_GIC_BANK_OFFSET
.endm
.macro arch_ret_to_user, tmp1, tmp2
diff --git a/arch/arm/mach-exynos4/include/mach/map.h b/arch/arm/mach-exynos4/include/mach/map.h
index 0dbca26..3677356 100644
--- a/arch/arm/mach-exynos4/include/mach/map.h
+++ b/arch/arm/mach-exynos4/include/mach/map.h
@@ -61,6 +61,7 @@
#define EXYNOS4_PA_GIC_CPU 0x10480000
#define EXYNOS4_PA_GIC_DIST 0x10490000
+#define EXYNOS4_GIC_BANK_OFFSET 0x8000
#define EXYNOS4_PA_COREPERI 0x10500000
#define EXYNOS4_PA_TWD 0x10500600
OpenPOWER on IntegriCloud