aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/kernel/head-nommu.S5
-rw-r--r--arch/arm/mm/Kconfig12
3 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2673fee3281c..ea7640af0f1e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -95,7 +95,7 @@ config ARCH_MTD_XIP
95 95
96config VECTORS_BASE 96config VECTORS_BASE
97 hex 97 hex
98 default 0xffff0000 if MMU 98 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
99 default DRAM_BASE if REMAP_VECTORS_TO_RAM 99 default DRAM_BASE if REMAP_VECTORS_TO_RAM
100 default 0x00000000 100 default 0x00000000
101 help 101 help
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
index 698a537915dd..f359a189dcf2 100644
--- a/arch/arm/kernel/head-nommu.S
+++ b/arch/arm/kernel/head-nommu.S
@@ -77,6 +77,11 @@ __after_proc_init:
77#ifdef CONFIG_CPU_ICACHE_DISABLE 77#ifdef CONFIG_CPU_ICACHE_DISABLE
78 bic r0, r0, #CR_I 78 bic r0, r0, #CR_I
79#endif 79#endif
80#ifdef CONFIG_CPU_HIGH_VECTOR
81 orr r0, r0, #CR_V
82#else
83 bic r0, r0, #CR_V
84#endif
80 mcr p15, 0, r0, c1, c0, 0 @ write control reg 85 mcr p15, 0, r0, c1, c0, 0 @ write control reg
81#endif /* CONFIG_CPU_CP15 */ 86#endif /* CONFIG_CPU_CP15 */
82 87
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 6c1bd424ea61..c0bfb8212b77 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -524,6 +524,18 @@ config CPU_BIG_ENDIAN
524 port must properly enable any big-endian related features 524 port must properly enable any big-endian related features
525 of your chipset/board/processor. 525 of your chipset/board/processor.
526 526
527config CPU_HIGH_VECTOR
528 depends !MMU && CPU_CP15 && !CPU_ARM740T
529 bool "Select the High exception vector"
530 default n
531 help
532 Say Y here to select high exception vector(0xFFFF0000~).
533 The exception vector can be vary depending on the platform
534 design in nommu mode. If your platform needs to select
535 high exception vector, say Y.
536 Otherwise or if you are unsure, say N, and the low exception
537 vector (0x00000000~) will be used.
538
527config CPU_ICACHE_DISABLE 539config CPU_ICACHE_DISABLE
528 bool "Disable I-Cache (I-bit)" 540 bool "Disable I-Cache (I-bit)"
529 depends on CPU_CP15 && !(CPU_ARM610 || CPU_ARM710 || CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3) 541 depends on CPU_CP15 && !(CPU_ARM610 || CPU_ARM710 || CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3)