diff options
Diffstat (limited to 'arch/arm/mm/Kconfig')
| -rw-r--r-- | arch/arm/mm/Kconfig | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 6cacdc8dd654..db5c2cab8fda 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -421,24 +421,28 @@ config CPU_32v3 | |||
| 421 | select CPU_USE_DOMAINS if MMU | 421 | select CPU_USE_DOMAINS if MMU |
| 422 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 422 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
| 423 | select TLS_REG_EMUL if SMP || !MMU | 423 | select TLS_REG_EMUL if SMP || !MMU |
| 424 | select NEED_KUSER_HELPERS | ||
| 424 | 425 | ||
| 425 | config CPU_32v4 | 426 | config CPU_32v4 |
| 426 | bool | 427 | bool |
| 427 | select CPU_USE_DOMAINS if MMU | 428 | select CPU_USE_DOMAINS if MMU |
| 428 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 429 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
| 429 | select TLS_REG_EMUL if SMP || !MMU | 430 | select TLS_REG_EMUL if SMP || !MMU |
| 431 | select NEED_KUSER_HELPERS | ||
| 430 | 432 | ||
| 431 | config CPU_32v4T | 433 | config CPU_32v4T |
| 432 | bool | 434 | bool |
| 433 | select CPU_USE_DOMAINS if MMU | 435 | select CPU_USE_DOMAINS if MMU |
| 434 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 436 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
| 435 | select TLS_REG_EMUL if SMP || !MMU | 437 | select TLS_REG_EMUL if SMP || !MMU |
| 438 | select NEED_KUSER_HELPERS | ||
| 436 | 439 | ||
| 437 | config CPU_32v5 | 440 | config CPU_32v5 |
| 438 | bool | 441 | bool |
| 439 | select CPU_USE_DOMAINS if MMU | 442 | select CPU_USE_DOMAINS if MMU |
| 440 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 443 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
| 441 | select TLS_REG_EMUL if SMP || !MMU | 444 | select TLS_REG_EMUL if SMP || !MMU |
| 445 | select NEED_KUSER_HELPERS | ||
| 442 | 446 | ||
| 443 | config CPU_32v6 | 447 | config CPU_32v6 |
| 444 | bool | 448 | bool |
| @@ -776,6 +780,7 @@ config CPU_BPREDICT_DISABLE | |||
| 776 | 780 | ||
| 777 | config TLS_REG_EMUL | 781 | config TLS_REG_EMUL |
| 778 | bool | 782 | bool |
| 783 | select NEED_KUSER_HELPERS | ||
| 779 | help | 784 | help |
| 780 | An SMP system using a pre-ARMv6 processor (there are apparently | 785 | An SMP system using a pre-ARMv6 processor (there are apparently |
| 781 | a few prototypes like that in existence) and therefore access to | 786 | a few prototypes like that in existence) and therefore access to |
| @@ -783,11 +788,40 @@ config TLS_REG_EMUL | |||
| 783 | 788 | ||
| 784 | config NEEDS_SYSCALL_FOR_CMPXCHG | 789 | config NEEDS_SYSCALL_FOR_CMPXCHG |
| 785 | bool | 790 | bool |
| 791 | select NEED_KUSER_HELPERS | ||
| 786 | help | 792 | help |
| 787 | SMP on a pre-ARMv6 processor? Well OK then. | 793 | SMP on a pre-ARMv6 processor? Well OK then. |
| 788 | Forget about fast user space cmpxchg support. | 794 | Forget about fast user space cmpxchg support. |
| 789 | It is just not possible. | 795 | It is just not possible. |
| 790 | 796 | ||
| 797 | config NEED_KUSER_HELPERS | ||
| 798 | bool | ||
| 799 | |||
| 800 | config KUSER_HELPERS | ||
| 801 | bool "Enable kuser helpers in vector page" if !NEED_KUSER_HELPERS | ||
| 802 | default y | ||
| 803 | help | ||
| 804 | Warning: disabling this option may break user programs. | ||
| 805 | |||
| 806 | Provide kuser helpers in the vector page. The kernel provides | ||
| 807 | helper code to userspace in read only form at a fixed location | ||
| 808 | in the high vector page to allow userspace to be independent of | ||
| 809 | the CPU type fitted to the system. This permits binaries to be | ||
| 810 | run on ARMv4 through to ARMv7 without modification. | ||
| 811 | |||
| 812 | However, the fixed address nature of these helpers can be used | ||
| 813 | by ROP (return orientated programming) authors when creating | ||
| 814 | exploits. | ||
| 815 | |||
| 816 | If all of the binaries and libraries which run on your platform | ||
| 817 | are built specifically for your platform, and make no use of | ||
| 818 | these helpers, then you can turn this option off. However, | ||
| 819 | when such an binary or library is run, it will receive a SIGILL | ||
| 820 | signal, which will terminate the program. | ||
| 821 | |||
| 822 | Say N here only if you are absolutely certain that you do not | ||
| 823 | need these helpers; otherwise, the safe option is to say Y. | ||
| 824 | |||
| 791 | config DMA_CACHE_RWFO | 825 | config DMA_CACHE_RWFO |
| 792 | bool "Enable read/write for ownership DMA cache maintenance" | 826 | bool "Enable read/write for ownership DMA cache maintenance" |
| 793 | depends on CPU_V6K && SMP | 827 | depends on CPU_V6K && SMP |
