diff options
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r-- | arch/arm/mm/Kconfig | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 4414a01e1e8a..8493ed04797a 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -599,6 +599,14 @@ config CPU_CP15_MPU | |||
599 | help | 599 | help |
600 | Processor has the CP15 register, which has MPU related registers. | 600 | Processor has the CP15 register, which has MPU related registers. |
601 | 601 | ||
602 | config CPU_USE_DOMAINS | ||
603 | bool | ||
604 | depends on MMU | ||
605 | default y if !CPU_32v6K | ||
606 | help | ||
607 | This option enables or disables the use of domain switching | ||
608 | via the set_fs() function. | ||
609 | |||
602 | # | 610 | # |
603 | # CPU supports 36-bit I/O | 611 | # CPU supports 36-bit I/O |
604 | # | 612 | # |
@@ -628,6 +636,33 @@ config ARM_THUMBEE | |||
628 | Say Y here if you have a CPU with the ThumbEE extension and code to | 636 | Say Y here if you have a CPU with the ThumbEE extension and code to |
629 | make use of it. Say N for code that can run on CPUs without ThumbEE. | 637 | make use of it. Say N for code that can run on CPUs without ThumbEE. |
630 | 638 | ||
639 | config SWP_EMULATE | ||
640 | bool "Emulate SWP/SWPB instructions" | ||
641 | depends on CPU_V7 | ||
642 | select HAVE_PROC_CPU if PROC_FS | ||
643 | default y if SMP | ||
644 | help | ||
645 | ARMv6 architecture deprecates use of the SWP/SWPB instructions. | ||
646 | ARMv7 multiprocessing extensions introduce the ability to disable | ||
647 | these instructions, triggering an undefined instruction exception | ||
648 | when executed. Say Y here to enable software emulation of these | ||
649 | instructions for userspace (not kernel) using LDREX/STREX. | ||
650 | Also creates /proc/cpu/swp_emulation for statistics. | ||
651 | |||
652 | In some older versions of glibc [<=2.8] SWP is used during futex | ||
653 | trylock() operations with the assumption that the code will not | ||
654 | be preempted. This invalid assumption may be more likely to fail | ||
655 | with SWP emulation enabled, leading to deadlock of the user | ||
656 | application. | ||
657 | |||
658 | NOTE: when accessing uncached shared regions, LDREX/STREX rely | ||
659 | on an external transaction monitoring block called a global | ||
660 | monitor to maintain update atomicity. If your system does not | ||
661 | implement a global monitor, this option can cause programs that | ||
662 | perform SWP operations to uncached memory to deadlock. | ||
663 | |||
664 | If unsure, say Y. | ||
665 | |||
631 | config CPU_BIG_ENDIAN | 666 | config CPU_BIG_ENDIAN |
632 | bool "Build big-endian kernel" | 667 | bool "Build big-endian kernel" |
633 | depends on ARCH_SUPPORTS_BIG_ENDIAN | 668 | depends on ARCH_SUPPORTS_BIG_ENDIAN |