virtio: replace arch_has_restricted_virtio_memory_access()
[linux-2.6-microblaze.git] / arch / x86 / Kconfig
index a293a30..be0b95e 100644 (file)
@@ -41,11 +41,11 @@ config FORCE_DYNAMIC_FTRACE
        depends on FUNCTION_TRACER
        select DYNAMIC_FTRACE
        help
-        We keep the static function tracing (!DYNAMIC_FTRACE) around
-        in order to test the non static function tracing in the
-        generic code, as other architectures still use it. But we
-        only need to keep it around for x86_64. No need to keep it
-        for x86_32. For x86_32, force DYNAMIC_FTRACE. 
+         We keep the static function tracing (!DYNAMIC_FTRACE) around
+         in order to test the non static function tracing in the
+         generic code, as other architectures still use it. But we
+         only need to keep it around for x86_64. No need to keep it
+         for x86_32. For x86_32, force DYNAMIC_FTRACE.
 #
 # Arch settings
 #
@@ -258,6 +258,7 @@ config X86
        select HAVE_PREEMPT_DYNAMIC_CALL
        select HAVE_RSEQ
        select HAVE_SYSCALL_TRACEPOINTS
+       select HAVE_UACCESS_VALIDATION          if HAVE_OBJTOOL
        select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_USER_RETURN_NOTIFIER
        select HAVE_GENERIC_VDSO
@@ -393,9 +394,9 @@ config CC_HAS_SANE_STACKPROTECTOR
        default $(success,$(srctree)/scripts/gcc-x86_64-has-stack-protector.sh $(CC)) if 64BIT
        default $(success,$(srctree)/scripts/gcc-x86_32-has-stack-protector.sh $(CC))
        help
-          We have to make sure stack protector is unconditionally disabled if
-          the compiler produces broken code or if it does not let us control
-          the segment on 32-bit kernels.
+         We have to make sure stack protector is unconditionally disabled if
+         the compiler produces broken code or if it does not let us control
+         the segment on 32-bit kernels.
 
 menu "Processor type and features"
 
@@ -531,7 +532,7 @@ config X86_EXTENDED_PLATFORM
 
          If you have one of these systems, or if you want to build a
          generic distribution kernel, say Y here - otherwise say N.
-endif
+endif # X86_32
 
 if X86_64
 config X86_EXTENDED_PLATFORM
@@ -550,7 +551,7 @@ config X86_EXTENDED_PLATFORM
 
          If you have one of these systems, or if you want to build a
          generic distribution kernel, say Y here - otherwise say N.
-endif
+endif # X86_64
 # This is an alphabetically sorted list of 64 bit extended platforms
 # Please maintain the alphabetic order if and when there are additions
 config X86_NUMACHIP
@@ -598,9 +599,9 @@ config X86_GOLDFISH
        bool "Goldfish (Virtual Platform)"
        depends on X86_EXTENDED_PLATFORM
        help
-        Enable support for the Goldfish virtual platform used primarily
-        for Android development. Unless you are building for the Android
-        Goldfish emulator say N here.
+         Enable support for the Goldfish virtual platform used primarily
+         for Android development. Unless you are building for the Android
+         Goldfish emulator say N here.
 
 config X86_INTEL_CE
        bool "CE4100 TV platform"
@@ -899,7 +900,7 @@ config INTEL_TDX_GUEST
          memory contents and CPU state. TDX guests are protected from
          some attacks from the VMM.
 
-endif #HYPERVISOR_GUEST
+endif # HYPERVISOR_GUEST
 
 source "arch/x86/Kconfig.cpu"
 
@@ -1166,16 +1167,16 @@ config X86_MCE_INTEL
        prompt "Intel MCE features"
        depends on X86_MCE && X86_LOCAL_APIC
        help
-          Additional support for intel specific MCE features such as
-          the thermal monitor.
+         Additional support for intel specific MCE features such as
+         the thermal monitor.
 
 config X86_MCE_AMD
        def_bool y
        prompt "AMD MCE features"
        depends on X86_MCE && X86_LOCAL_APIC && AMD_NB
        help
-          Additional support for AMD specific MCE features such as
-          the DRAM Error Threshold.
+         Additional support for AMD specific MCE features such as
+         the DRAM Error Threshold.
 
 config X86_ANCIENT_MCE
        bool "Support for old Pentium 5 / WinChip machine checks"
@@ -1253,18 +1254,18 @@ config X86_VSYSCALL_EMULATION
        default y
        depends on X86_64
        help
-        This enables emulation of the legacy vsyscall page.  Disabling
-        it is roughly equivalent to booting with vsyscall=none, except
-        that it will also disable the helpful warning if a program
-        tries to use a vsyscall.  With this option set to N, offending
-        programs will just segfault, citing addresses of the form
-        0xffffffffff600?00.
+         This enables emulation of the legacy vsyscall page.  Disabling
+         it is roughly equivalent to booting with vsyscall=none, except
+         that it will also disable the helpful warning if a program
+         tries to use a vsyscall.  With this option set to N, offending
+         programs will just segfault, citing addresses of the form
+         0xffffffffff600?00.
 
-        This option is required by many programs built before 2013, and
-        care should be used even with newer programs if set to N.
+         This option is required by many programs built before 2013, and
+         care should be used even with newer programs if set to N.
 
-        Disabling this option saves about 7K of kernel size and
-        possibly 4K of additional runtime pagetable memory.
+         Disabling this option saves about 7K of kernel size and
+         possibly 4K of additional runtime pagetable memory.
 
 config X86_IOPL_IOPERM
        bool "IOPERM and IOPL Emulation"
@@ -1357,17 +1358,16 @@ config MICROCODE_AMD
          If you select this option, microcode patch loading support for AMD
          processors will be enabled.
 
-config MICROCODE_OLD_INTERFACE
-       bool "Ancient loading interface (DEPRECATED)"
+config MICROCODE_LATE_LOADING
+       bool "Late microcode loading (DANGEROUS)"
        default n
        depends on MICROCODE
        help
-         DO NOT USE THIS! This is the ancient /dev/cpu/microcode interface
-         which was used by userspace tools like iucode_tool and microcode.ctl.
-         It is inadequate because it runs too late to be able to properly
-         load microcode on a machine and it needs special tools. Instead, you
-         should've switched to the early loading method with the initrd or
-         builtin microcode by now: Documentation/x86/microcode.rst
+         Loading microcode late, when the system is up and executing instructions
+         is a tricky business and should be avoided if possible. Just the sequence
+         of synchronizing all cores and SMT threads is one fragile dance which does
+         not guarantee that cores might not softlock after the loading. Therefore,
+         use this at your own risk. Late loading taints the kernel too.
 
 config X86_MSR
        tristate "/dev/cpu/*/msr - Model-specific register support"
@@ -1542,7 +1542,6 @@ config X86_CPA_STATISTICS
 config X86_MEM_ENCRYPT
        select ARCH_HAS_FORCE_DMA_UNENCRYPTED
        select DYNAMIC_PHYSICAL_MASK
-       select ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS
        def_bool n
 
 config AMD_MEM_ENCRYPT
@@ -2001,15 +2000,15 @@ config EFI_MIXED
        bool "EFI mixed-mode support"
        depends on EFI_STUB && X86_64
        help
-          Enabling this feature allows a 64-bit kernel to be booted
-          on a 32-bit firmware, provided that your CPU supports 64-bit
-          mode.
+         Enabling this feature allows a 64-bit kernel to be booted
+         on a 32-bit firmware, provided that your CPU supports 64-bit
+         mode.
 
-          Note that it is not possible to boot a mixed-mode enabled
-          kernel via the EFI boot stub - a bootloader that supports
-          the EFI handover protocol must be used.
+         Note that it is not possible to boot a mixed-mode enabled
+         kernel via the EFI boot stub - a bootloader that supports
+         the EFI handover protocol must be used.
 
-          If unsure, say N.
+         If unsure, say N.
 
 source "kernel/Kconfig.hz"
 
@@ -2234,16 +2233,16 @@ config RANDOMIZE_MEMORY
        select DYNAMIC_MEMORY_LAYOUT
        default RANDOMIZE_BASE
        help
-          Randomizes the base virtual address of kernel memory sections
-          (physical memory mapping, vmalloc & vmemmap). This security feature
-          makes exploits relying on predictable memory locations less reliable.
+         Randomizes the base virtual address of kernel memory sections
+         (physical memory mapping, vmalloc & vmemmap). This security feature
+         makes exploits relying on predictable memory locations less reliable.
 
-          The order of allocations remains unchanged. Entropy is generated in
-          the same way as RANDOMIZE_BASE. Current implementation in the optimal
-          configuration have in average 30,000 different possible virtual
-          addresses for each memory section.
+         The order of allocations remains unchanged. Entropy is generated in
+         the same way as RANDOMIZE_BASE. Current implementation in the optimal
+         configuration have in average 30,000 different possible virtual
+         addresses for each memory section.
 
-          If unsure, say Y.
+         If unsure, say Y.
 
 config RANDOMIZE_MEMORY_PHYSICAL_PADDING
        hex "Physical memory mapping padding" if EXPERT
@@ -2253,12 +2252,12 @@ config RANDOMIZE_MEMORY_PHYSICAL_PADDING
        range 0x1 0x40 if MEMORY_HOTPLUG
        range 0x0 0x40
        help
-          Define the padding in terabytes added to the existing physical
-          memory size during kernel memory randomization. It is useful
-          for memory hotplug support but reduces the entropy available for
-          address randomization.
+         Define the padding in terabytes added to the existing physical
+         memory size during kernel memory randomization. It is useful
+         for memory hotplug support but reduces the entropy available for
+         address randomization.
 
-          If unsure, leave at the default value.
+         If unsure, leave at the default value.
 
 config HOTPLUG_CPU
        def_bool y
@@ -2605,7 +2604,6 @@ source "drivers/idle/Kconfig"
 
 endmenu
 
-
 menu "Bus options (PCI etc.)"
 
 choice
@@ -2829,7 +2827,6 @@ config AMD_NB
 
 endmenu
 
-
 menu "Binary Emulations"
 
 config IA32_EMULATION
@@ -2867,14 +2864,12 @@ config COMPAT
        def_bool y
        depends on IA32_EMULATION || X86_X32_ABI
 
-if COMPAT
 config COMPAT_FOR_U64_ALIGNMENT
        def_bool y
-endif
+       depends on COMPAT
 
 endmenu
 
-
 config HAVE_ATOMIC_IOMAP
        def_bool y
        depends on X86_32