diff options
-rw-r--r-- | arch/arm/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/kernel/head-nommu.S | 5 | ||||
-rw-r--r-- | arch/arm/mm/Kconfig | 12 |
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 | ||
96 | config VECTORS_BASE | 96 | config 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 | ||
527 | config 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 | |||
527 | config CPU_ICACHE_DISABLE | 539 | config 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) |