summaryrefslogtreecommitdiff
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig193
1 files changed, 184 insertions, 9 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 827196339893..b85246ee78da 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -49,10 +49,6 @@ config GENERIC_CLOCKEVENTS_BROADCAST
depends on GENERIC_CLOCKEVENTS
default y if SMP && !LOCAL_TIMERS
-config MMU
- bool
- default y
-
config NO_IOPORT
bool
default n
@@ -194,6 +190,13 @@ source "kernel/Kconfig.freezer"
menu "System Type"
+config MMU
+ bool "MMU-based Paged Memory Management Support"
+ default y
+ help
+ Select if you want MMU-based virtualised addressing space
+ support by paged memory management. If unsure, say 'Y'.
+
choice
prompt "ARM system type"
default ARCH_VERSATILE
@@ -590,6 +593,19 @@ config ARCH_W90X900
Support for Nuvoton (Winbond logic dept.) ARM9 processor,You
can login www.mcuos.com or www.nuvoton.com to know more.
+config ARCH_MPS
+ bool "ARM Ltd. Microcontroller Prototyping System"
+ depends on !MMU
+ select ARM_AMBA
+ select HAVE_CLK
+ select COMMON_CLKDEV
+ select ICST307
+ select GENERIC_TIME
+ select GENERIC_CLOCKEVENTS
+ help
+ This enables support for ARM Ltd. Microcontroller Prototyping
+ System platform.
+
endchoice
source "arch/arm/mach-clps711x/Kconfig"
@@ -676,6 +692,8 @@ source "arch/arm/mach-msm/Kconfig"
source "arch/arm/mach-w90x900/Kconfig"
+source "arch/arm/mach-mps/Kconfig"
+
# Definitions to make life easier
config ARCH_ACORN
bool
@@ -706,6 +724,105 @@ if !MMU
source "arch/arm/Kconfig-nommu"
endif
+config ARM_ERRATA_364296
+ bool "Enable partial low interrupt latency mode for ARM1136"
+ depends on CPU_V6 && !SMP
+ default n
+ help
+ This options enables the workaround for the 364296 ARM1136
+ r0pX errata (possible cache data corruption with
+ hit-under-miss enabled). It sets the undocumented bit 31 in
+ the auxiliary control register and the FI bit in the control
+ register, thus disabling hit-under-miss without putting the
+ processor into full low interrupt latency mode. ARM11MPCore
+ is not affected.
+
+config ARM_ERRATA_411920
+ bool "Workaround for the global I cache invalidation on ARM1136"
+ depends on CPU_V6 && !SMP
+ default n
+ help
+ Invalidation of the Instruction Cache operation can
+ fail. This Erratum is present in 1136, 1156 and 1176. It
+ does not affect the MPCore. This option enables the ARM Ltd.
+ recommended workaround.
+
+config ARM_ERRATA_351422
+ bool "Spinlocks using LDREX and STREX instructions can livelock"
+ depends on CPU_V6 && SMP
+ default n
+ help
+ According to the ARM11MPCore Erratum 351422 (r0p0), under
+ extremely rare conditions, in an MPCore node consisting of
+ at least 3 CPUs, two CPUs trying to perform a STREX to data
+ on the same shared cache line can enter a livelock
+ situation. This option adds variable spinning time to the
+ locking routines.
+
+config ARM_ERRATA_430973
+ bool "Stale prediction on replaced interworking branch on Cortex-A8"
+ depends on CPU_V7
+ default n
+ help
+ This option enables the workaround for the 430973 Cortex-A8
+ (r1p0) erratum. If a code sequence containing an ARM/Thumb
+ interworking branch is replaced with another code sequence
+ at the same virtual address, whether due to self-modifying
+ code or virtual to physical address re-mapping, Cortex-A8
+ does not recover from the stale interworking branch
+ prediction. This results in Cortex-A8 executing the new code
+ sequence in the incorrect ARM or Thumb state.
+
+config ARM_ERRATA_458693
+ bool "Processor deadlock when a false hazard is created on Cortex-A8"
+ depends on CPU_V7
+ default n
+ help
+ This option enables the workaround for the 458693 Cortex-A8
+ (r2p0) erratum. For very specific sequences of memory
+ operations, it is possible for a hazard condition intended
+ for a cache line to instead be incorrectly associated with a
+ different cache line. This false hazard might then cause a
+ processor deadlock.
+
+config ARM_ERRATA_460075
+ bool "Data written to the L2 cache can be overwritten with stale data on Cortex-A8"
+ depends on CPU_V7
+ default n
+ help
+ This option enables the workaround for the 458692 Cortex-A8
+ (r2p0) erratum. Any asynchronous access to the L2 cache may
+ encounter a situation in which recent store transactions to
+ the L2 cache are lost and overwritten with stale memory
+ contents from external memory.
+
+config ARM_ERRATUM_451034
+ bool "Enable workaround for ARM erratum 451034"
+ depends on VFPv3
+ help
+ On Cortex-A8 r1p0 and r1p1, executing a NEON store with an integer
+ store in the store buffer, can cause a processor deadlock under
+ certain conditions.
+
+ See ARM Cortex-A8 Errata Notice (PR120-PRDC-008070) for full details.
+
+ Say Y to include a partial workaround.
+
+ WARNING: Even with this option enabled, userspace code can trigger
+ the deadlock. To safely run untrusted code, a different fix is
+ required.
+
+config ARM_ERRATA_484863
+ bool "The Cache Sync operation does not guarantee that the the Eviction Buffer is empty"
+ depends on CACHE_L2X0
+ default n
+ help
+ According to the L220 Erratum 484863, the actual behaviour of
+ the L220 cache controller is that the Cache Sync operation
+ only ensures that the Write Buffer and the Write Allocate
+ Buffer are empty but not the Eviction Buffer. This option
+ enables the first workaround from the Errata document.
+
endmenu
source "arch/arm/common/Kconfig"
@@ -773,7 +890,7 @@ source "kernel/time/Kconfig"
config SMP
bool "Symmetric Multi-Processing (EXPERIMENTAL)"
- depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP)
+ depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX)
select USE_GENERIC_SMP_HELPERS
help
This enables support for systems with more than one CPU. If you have
@@ -830,7 +947,7 @@ config HOTPLUG_CPU
config LOCAL_TIMERS
bool "Use local timer interrupts"
- depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || REALVIEW_EB_A9MP)
+ depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || REALVIEW_EB_A9MP || MACH_REALVIEW_PBX)
default y
help
Enable support for local timers on SMP platforms, rather then the
@@ -859,6 +976,23 @@ config HZ
default AT91_TIMER_HZ if ARCH_AT91
default 100
+config THUMB2_KERNEL
+ bool "Compile the kernel in Thumb-2 mode"
+ depends on (CPU_V7 || CPU_V7M) && EXPERIMENTAL
+ default n
+ select AEABI
+ select ARM_ASM_UNIFIED
+ help
+ By enabling this option, the kernel will be compiled in
+ Thumb-2 mode. A compiler/assembler that understand the unified
+ ARM-Thumb syntax is needed.
+
+ If unsure, say N.
+
+config ARM_ASM_UNIFIED
+ bool
+ default n
+
config AEABI
bool "Use the ARM EABI to compile the kernel"
help
@@ -876,7 +1010,7 @@ config AEABI
config OABI_COMPAT
bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
- depends on AEABI && EXPERIMENTAL
+ depends on AEABI && !CPU_V7M && EXPERIMENTAL
default y
help
This option preserves the old syscall interface along with the
@@ -925,7 +1059,7 @@ config LEDS
ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
ARCH_AT91 || ARCH_DAVINCI || \
- ARCH_KS8695 || MACH_RD88F5182
+ ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
help
If you say Y here, the LEDs on your machine will be used
to provide useful information about your current system status.
@@ -1082,11 +1216,43 @@ config ATAGS_PROC
Should the atags used to boot the kernel be exported in an "atags"
file in procfs. Useful with kexec.
+config NAKED_BOOT
+ bool "Kernel image for naked booting environments"
+ depends on CMDLINE != ""
+ default n
+ help
+ This produces a kernel binary that can simply be moved onto
+ the target machine and jumped to without any sort of boot
+ protocol from the bootloader. This should only be used in
+ cases where the bootloader fails to implement the required
+ calling convention for executing the kernel as described in
+ the file Documentation/arm/Booting.
+
+ The use of this option imposes many restrictions on the kernel
+ as it may not support more than one target machine, and all
+ boot parameters such as memory size and root filesystem device
+ have to be hardcoded in the default kernel command string (see
+ CONFIG_CMDLINE).
+
+ If dynamic ram configuration, multi-machine support or the
+ ability for the user to specify a kernel command string at
+ boot without the need for recompiling the kernel each time
+ is required, then the bootloader must implement the boot
+ protocol as described in Documentation/arm/Booting and this
+ config option not be used.
+
+ Please consider fixing your bootloader according to the
+ documented boot protocol in all cases, or choose one
+ from the many excellent open source bootloaders available
+ on the net which already support the required boot protocol.
+
+ If you're not sure what this is all about then say N.
+
endmenu
menu "CPU Power Management"
-if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
+if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA || ARCH_REALVIEW)
source "drivers/cpufreq/Kconfig"
@@ -1126,6 +1292,15 @@ config CPU_FREQ_PXA
default y
select CPU_FREQ_DEFAULT_GOV_USERSPACE
+config CPU_FREQ_REALVIEW
+ tristate "CPUfreq driver for ARM RealView platform"
+ depends on CPU_FREQ && MACH_REALVIEW_PB1176
+ default y
+ help
+ This enables the CPUfreq driver for ARM RealView platform.
+
+ If in doubt, say Y.
+
endif
source "drivers/cpuidle/Kconfig"