From 57e09e806296a519be11df2117f73da56d73171a Mon Sep 17 00:00:00 2001 From: "Hyok S. Choi" Date: Thu, 28 Sep 2006 21:46:34 +0900 Subject: [PATCH] --- yaml --- r: 36687 b: refs/heads/master c: 6afd6fae1d5f7e7129a10c4f3e32018966eeac1c h: refs/heads/master i: 36685: bb4092274e5be34eee3ad6768564b2f52081dcb7 36683: 0dd78cdf3963eaa7dc944a9989285e2f7d698f59 36679: 896b3fdce6ef573b9db7f307b9f03db9496f0f2b 36671: 6fba8e314e4bcabc0a87d880c6a396b157b8cc44 v: v3 --- [refs] | 2 +- trunk/arch/arm/Kconfig | 2 +- trunk/arch/arm/kernel/head-nommu.S | 5 +++++ trunk/arch/arm/mm/Kconfig | 12 ++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 66e06c112abc..5b45a4718aa1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0f45d7f36b766cb668cebfb5d4d2f67b4a8676ba +refs/heads/master: 6afd6fae1d5f7e7129a10c4f3e32018966eeac1c diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 2673fee3281c..ea7640af0f1e 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -95,7 +95,7 @@ config ARCH_MTD_XIP config VECTORS_BASE hex - default 0xffff0000 if MMU + default 0xffff0000 if MMU || CPU_HIGH_VECTOR default DRAM_BASE if REMAP_VECTORS_TO_RAM default 0x00000000 help diff --git a/trunk/arch/arm/kernel/head-nommu.S b/trunk/arch/arm/kernel/head-nommu.S index 698a537915dd..f359a189dcf2 100644 --- a/trunk/arch/arm/kernel/head-nommu.S +++ b/trunk/arch/arm/kernel/head-nommu.S @@ -76,6 +76,11 @@ __after_proc_init: #endif #ifdef CONFIG_CPU_ICACHE_DISABLE bic r0, r0, #CR_I +#endif +#ifdef CONFIG_CPU_HIGH_VECTOR + orr r0, r0, #CR_V +#else + bic r0, r0, #CR_V #endif mcr p15, 0, r0, c1, c0, 0 @ write control reg #endif /* CONFIG_CPU_CP15 */ diff --git a/trunk/arch/arm/mm/Kconfig b/trunk/arch/arm/mm/Kconfig index 6c1bd424ea61..c0bfb8212b77 100644 --- a/trunk/arch/arm/mm/Kconfig +++ b/trunk/arch/arm/mm/Kconfig @@ -524,6 +524,18 @@ config CPU_BIG_ENDIAN port must properly enable any big-endian related features of your chipset/board/processor. +config CPU_HIGH_VECTOR + depends !MMU && CPU_CP15 && !CPU_ARM740T + bool "Select the High exception vector" + default n + help + Say Y here to select high exception vector(0xFFFF0000~). + The exception vector can be vary depending on the platform + design in nommu mode. If your platform needs to select + high exception vector, say Y. + Otherwise or if you are unsure, say N, and the low exception + vector (0x00000000~) will be used. + config CPU_ICACHE_DISABLE bool "Disable I-Cache (I-bit)" depends on CPU_CP15 && !(CPU_ARM610 || CPU_ARM710 || CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3)