bool
        default y
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAVE_CUSTOM_GPIO_H
 
          kernel.
          If in doubt, say "N"
 
-config STRICT_DEVMEM
-       bool "Filter access to /dev/mem"
-       depends on MMU
-       ---help---
-         If this option is disabled, you allow userspace (root) access to all
-         of memory, including kernel and userspace memory. Accidental
-         access to this is obviously disastrous, but specific access can
-         be used by people debugging the kernel.
-
-         If this option is switched on, the /dev/mem file only allows
-         userspace access to memory mapped peripherals.
-
-          If in doubt, say Y.
-
 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
 # If you know what you are doing and are willing to live without stack
 # traces, you can get a slightly smaller kernel by setting this option to
 
        select ACPI_CCA_REQUIRED if ACPI
        select ACPI_GENERIC_GSI if ACPI
        select ACPI_REDUCED_HARDWARE_ONLY if ACPI
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_GCOV_PROFILE_ALL
 
          kernel.
          If in doubt, say "N"
 
-config STRICT_DEVMEM
-       bool "Filter access to /dev/mem"
-       depends on MMU
-       help
-         If this option is disabled, you allow userspace (root) access to all
-         of memory, including kernel and userspace memory. Accidental
-         access to this is obviously disastrous, but specific access can
-         be used by people debugging the kernel.
-
-         If this option is switched on, the /dev/mem file only allows
-         userspace access to memory mapped peripherals.
-
-         If in doubt, say Y.
-
 config PID_IN_CONTEXTIDR
        bool "Write the current PID to the CONTEXTIDR register"
        help
 
        select HAVE_DEBUG_BUGVERBOSE
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_CPU_DEVICES
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_WANT_IPC_PARSE_VERSION
        select OLD_SIGSUSPEND3
        select OLD_SIGACTION
 
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
        select GENERIC_ATOMIC64
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_USES_GETTIMEOFFSET
        select MODULES_USE_ELF_RELA
        select HAVE_DEBUG_STACKOVERFLOW
 
        select EDAC_SUPPORT
        select EDAC_ATOMIC_SCRUB
        select ARCH_HAS_DMA_SET_COHERENT_MASK
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select HAVE_ARCH_SECCOMP_FILTER
 
 config GENERIC_CSUM
 
          platform probing is done, all platforms selected must
          share the same address.
 
-config STRICT_DEVMEM
-       def_bool y
-       prompt "Filter access to /dev/mem"
-       help
-         This option restricts access to /dev/mem.  If this option is
-         disabled, you allow userspace access to all memory, including
-         kernel and userspace memory. Accidental memory access is likely
-         to be disastrous.
-         Memory access is required for experts who want to debug the kernel.
-
-         If you are unsure, say Y.
-
 config FAIL_IOMMU
        bool "Fault-injection capability for IOMMU"
        depends on FAULT_INJECTION
 
        def_bool y
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_GCOV_PROFILE_ALL
        select ARCH_HAS_SG_CHAIN
 
 
 source "lib/Kconfig.debug"
 
-config STRICT_DEVMEM
-       def_bool y
-       prompt "Filter access to /dev/mem"
-       ---help---
-         This option restricts access to /dev/mem.  If this option is
-         disabled, you allow userspace access to all memory, including
-         kernel and userspace memory. Accidental memory access is likely
-         to be disastrous.
-         Memory access is required for experts who want to debug the kernel.
-
-         If you are unsure, say Y.
-
 config S390_PTDUMP
        bool "Export kernel pagetable layout to userspace via debugfs"
        depends on DEBUG_KERNEL
 
        select VIRT_TO_BUS
        select SYS_HYPERVISOR
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_CLOCKEVENTS
        select MODULES_USE_ELF_RELA
 config TRACE_IRQFLAGS_SUPPORT
        def_bool y
 
-config STRICT_DEVMEM
-       def_bool y
-
 # SMP is required for Tilera Linux.
 config SMP
        def_bool y
 
 config UNICORE32
        def_bool y
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_MIGHT_HAVE_PC_PARPORT
        select ARCH_MIGHT_HAVE_PC_SERIO
        select HAVE_MEMBLOCK
 
 
 source "lib/Kconfig.debug"
 
-config STRICT_DEVMEM
-       bool "Filter access to /dev/mem"
-       depends on MMU
-       ---help---
-         If this option is disabled, you allow userspace (root) access to all
-         of memory, including kernel and userspace memory. Accidental
-         access to this is obviously disastrous, but specific access can
-         be used by people debugging the kernel.
-
-         If this option is switched on, the /dev/mem file only allows
-         userspace access to memory mapped peripherals.
-
-          If in doubt, say Y.
-
 config EARLY_PRINTK
        def_bool DEBUG_OCD
        help
 
        select ARCH_DISCARD_MEMBLOCK
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
+       select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_FAST_MULTIPLIER
        select ARCH_HAS_GCOV_PROFILE_ALL
 
 
 source "lib/Kconfig.debug"
 
-config STRICT_DEVMEM
-       bool "Filter access to /dev/mem"
-       ---help---
-         If this option is disabled, you allow userspace (root) access to all
-         of memory, including kernel and userspace memory. Accidental
-         access to this is obviously disastrous, but specific access can
-         be used by people debugging the kernel. Note that with PAT support
-         enabled, even in this case there are restrictions on /dev/mem
-         use due to the cache aliasing requirements.
-
-         If this option is switched on, the /dev/mem file only allows
-         userspace access to PCI space and the BIOS code and data regions.
-         This is sufficient for dosemu and X and all common users of
-         /dev/mem.
-
-         If in doubt, say Y.
-
 config X86_VERBOSE_BOOTUP
        bool "Enable verbose x86 bootup info messages"
        default y
 
 
 source "lib/Kconfig.kgdb"
 
+config ARCH_HAS_DEVMEM_IS_ALLOWED
+       bool
+
+config STRICT_DEVMEM
+       bool "Filter access to /dev/mem"
+       depends on MMU
+       depends on ARCH_HAS_DEVMEM_IS_ALLOWED
+       default y if TILE || PPC
+       ---help---
+         If this option is disabled, you allow userspace (root) access to all
+         of memory, including kernel and userspace memory. Accidental
+         access to this is obviously disastrous, but specific access can
+         be used by people debugging the kernel. Note that with PAT support
+         enabled, even in this case there are restrictions on /dev/mem
+         use due to the cache aliasing requirements.
+
+         If this option is switched on, the /dev/mem file only allows
+         userspace access to PCI space and the BIOS code and data regions.
+         This is sufficient for dosemu and X and all common users of
+         /dev/mem.
+
+         If in doubt, say Y.