diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-01-25 03:16:14 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-01-25 03:16:14 -0500 |
commit | 2b45e0f9f34f718725e093f4e335600811d7105a (patch) | |
tree | 3c6d594539eb16fc955906da65b9fa7aacbc9145 /arch/x86/Kconfig | |
parent | a85eba8814631d0d48361c8b9a7ee0984e80c03c (diff) | |
parent | 15c81026204da897a05424c79263aea861a782cc (diff) |
Merge branch 'linus' into x86/urgent
Merge in the x86 changes to apply a fix.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 118 |
1 files changed, 71 insertions, 47 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 64199bc08d66..cb9af474dfca 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -125,6 +125,7 @@ config X86 | |||
125 | select RTC_LIB | 125 | select RTC_LIB |
126 | select HAVE_DEBUG_STACKOVERFLOW | 126 | select HAVE_DEBUG_STACKOVERFLOW |
127 | select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64 | 127 | select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64 |
128 | select HAVE_CC_STACKPROTECTOR | ||
128 | 129 | ||
129 | config INSTRUCTION_DECODER | 130 | config INSTRUCTION_DECODER |
130 | def_bool y | 131 | def_bool y |
@@ -438,42 +439,26 @@ config X86_INTEL_CE | |||
438 | This option compiles in support for the CE4100 SOC for settop | 439 | This option compiles in support for the CE4100 SOC for settop |
439 | boxes and media devices. | 440 | boxes and media devices. |
440 | 441 | ||
441 | config X86_WANT_INTEL_MID | 442 | config X86_INTEL_MID |
442 | bool "Intel MID platform support" | 443 | bool "Intel MID platform support" |
443 | depends on X86_32 | 444 | depends on X86_32 |
444 | depends on X86_EXTENDED_PLATFORM | 445 | depends on X86_EXTENDED_PLATFORM |
445 | ---help--- | ||
446 | Select to build a kernel capable of supporting Intel MID platform | ||
447 | systems which do not have the PCI legacy interfaces (Moorestown, | ||
448 | Medfield). If you are building for a PC class system say N here. | ||
449 | |||
450 | if X86_WANT_INTEL_MID | ||
451 | |||
452 | config X86_INTEL_MID | ||
453 | bool | ||
454 | |||
455 | config X86_MDFLD | ||
456 | bool "Medfield MID platform" | ||
457 | depends on PCI | 446 | depends on PCI |
458 | depends on PCI_GOANY | 447 | depends on PCI_GOANY |
459 | depends on X86_IO_APIC | 448 | depends on X86_IO_APIC |
460 | select X86_INTEL_MID | ||
461 | select SFI | 449 | select SFI |
450 | select I2C | ||
462 | select DW_APB_TIMER | 451 | select DW_APB_TIMER |
463 | select APB_TIMER | 452 | select APB_TIMER |
464 | select I2C | ||
465 | select SPI | ||
466 | select INTEL_SCU_IPC | 453 | select INTEL_SCU_IPC |
467 | select X86_PLATFORM_DEVICES | ||
468 | select MFD_INTEL_MSIC | 454 | select MFD_INTEL_MSIC |
469 | ---help--- | 455 | ---help--- |
470 | Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin | 456 | Select to build a kernel capable of supporting Intel MID (Mobile |
471 | Internet Device(MID) platform. | 457 | Internet Device) platform systems which do not have the PCI legacy |
472 | Unlike standard x86 PCs, Medfield does not have many legacy devices | 458 | interfaces. If you are building for a PC class system say N here. |
473 | nor standard legacy replacement devices/features. e.g. Medfield does | ||
474 | not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. | ||
475 | 459 | ||
476 | endif | 460 | Intel MID platforms are based on an Intel processor and chipset which |
461 | consume less power than most of the x86 derivatives. | ||
477 | 462 | ||
478 | config X86_INTEL_LPSS | 463 | config X86_INTEL_LPSS |
479 | bool "Intel Low Power Subsystem Support" | 464 | bool "Intel Low Power Subsystem Support" |
@@ -1080,10 +1065,6 @@ config MICROCODE_OLD_INTERFACE | |||
1080 | def_bool y | 1065 | def_bool y |
1081 | depends on MICROCODE | 1066 | depends on MICROCODE |
1082 | 1067 | ||
1083 | config MICROCODE_INTEL_LIB | ||
1084 | def_bool y | ||
1085 | depends on MICROCODE_INTEL | ||
1086 | |||
1087 | config MICROCODE_INTEL_EARLY | 1068 | config MICROCODE_INTEL_EARLY |
1088 | def_bool n | 1069 | def_bool n |
1089 | 1070 | ||
@@ -1617,22 +1598,6 @@ config SECCOMP | |||
1617 | 1598 | ||
1618 | If unsure, say Y. Only embedded should say N here. | 1599 | If unsure, say Y. Only embedded should say N here. |
1619 | 1600 | ||
1620 | config CC_STACKPROTECTOR | ||
1621 | bool "Enable -fstack-protector buffer overflow detection" | ||
1622 | ---help--- | ||
1623 | This option turns on the -fstack-protector GCC feature. This | ||
1624 | feature puts, at the beginning of functions, a canary value on | ||
1625 | the stack just before the return address, and validates | ||
1626 | the value just before actually returning. Stack based buffer | ||
1627 | overflows (that need to overwrite this return address) now also | ||
1628 | overwrite the canary, which gets detected and the attack is then | ||
1629 | neutralized via a kernel panic. | ||
1630 | |||
1631 | This feature requires gcc version 4.2 or above, or a distribution | ||
1632 | gcc with the feature backported. Older versions are automatically | ||
1633 | detected and for those versions, this configuration option is | ||
1634 | ignored. (and a warning is printed during bootup) | ||
1635 | |||
1636 | source kernel/Kconfig.hz | 1601 | source kernel/Kconfig.hz |
1637 | 1602 | ||
1638 | config KEXEC | 1603 | config KEXEC |
@@ -1728,16 +1693,67 @@ config RELOCATABLE | |||
1728 | 1693 | ||
1729 | Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address | 1694 | Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address |
1730 | it has been loaded at and the compile time physical address | 1695 | it has been loaded at and the compile time physical address |
1731 | (CONFIG_PHYSICAL_START) is ignored. | 1696 | (CONFIG_PHYSICAL_START) is used as the minimum location. |
1732 | 1697 | ||
1733 | # Relocation on x86-32 needs some additional build support | 1698 | config RANDOMIZE_BASE |
1699 | bool "Randomize the address of the kernel image" | ||
1700 | depends on RELOCATABLE | ||
1701 | depends on !HIBERNATION | ||
1702 | default n | ||
1703 | ---help--- | ||
1704 | Randomizes the physical and virtual address at which the | ||
1705 | kernel image is decompressed, as a security feature that | ||
1706 | deters exploit attempts relying on knowledge of the location | ||
1707 | of kernel internals. | ||
1708 | |||
1709 | Entropy is generated using the RDRAND instruction if it is | ||
1710 | supported. If RDTSC is supported, it is used as well. If | ||
1711 | neither RDRAND nor RDTSC are supported, then randomness is | ||
1712 | read from the i8254 timer. | ||
1713 | |||
1714 | The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET, | ||
1715 | and aligned according to PHYSICAL_ALIGN. Since the kernel is | ||
1716 | built using 2GiB addressing, and PHYSICAL_ALGIN must be at a | ||
1717 | minimum of 2MiB, only 10 bits of entropy is theoretically | ||
1718 | possible. At best, due to page table layouts, 64-bit can use | ||
1719 | 9 bits of entropy and 32-bit uses 8 bits. | ||
1720 | |||
1721 | If unsure, say N. | ||
1722 | |||
1723 | config RANDOMIZE_BASE_MAX_OFFSET | ||
1724 | hex "Maximum kASLR offset allowed" if EXPERT | ||
1725 | depends on RANDOMIZE_BASE | ||
1726 | range 0x0 0x20000000 if X86_32 | ||
1727 | default "0x20000000" if X86_32 | ||
1728 | range 0x0 0x40000000 if X86_64 | ||
1729 | default "0x40000000" if X86_64 | ||
1730 | ---help--- | ||
1731 | The lesser of RANDOMIZE_BASE_MAX_OFFSET and available physical | ||
1732 | memory is used to determine the maximal offset in bytes that will | ||
1733 | be applied to the kernel when kernel Address Space Layout | ||
1734 | Randomization (kASLR) is active. This must be a multiple of | ||
1735 | PHYSICAL_ALIGN. | ||
1736 | |||
1737 | On 32-bit this is limited to 512MiB by page table layouts. The | ||
1738 | default is 512MiB. | ||
1739 | |||
1740 | On 64-bit this is limited by how the kernel fixmap page table is | ||
1741 | positioned, so this cannot be larger than 1GiB currently. Without | ||
1742 | RANDOMIZE_BASE, there is a 512MiB to 1.5GiB split between kernel | ||
1743 | and modules. When RANDOMIZE_BASE_MAX_OFFSET is above 512MiB, the | ||
1744 | modules area will shrink to compensate, up to the current maximum | ||
1745 | 1GiB to 1GiB split. The default is 1GiB. | ||
1746 | |||
1747 | If unsure, leave at the default value. | ||
1748 | |||
1749 | # Relocation on x86 needs some additional build support | ||
1734 | config X86_NEED_RELOCS | 1750 | config X86_NEED_RELOCS |
1735 | def_bool y | 1751 | def_bool y |
1736 | depends on X86_32 && RELOCATABLE | 1752 | depends on RANDOMIZE_BASE || (X86_32 && RELOCATABLE) |
1737 | 1753 | ||
1738 | config PHYSICAL_ALIGN | 1754 | config PHYSICAL_ALIGN |
1739 | hex "Alignment value to which kernel should be aligned" | 1755 | hex "Alignment value to which kernel should be aligned" |
1740 | default "0x1000000" | 1756 | default "0x200000" |
1741 | range 0x2000 0x1000000 if X86_32 | 1757 | range 0x2000 0x1000000 if X86_32 |
1742 | range 0x200000 0x1000000 if X86_64 | 1758 | range 0x200000 0x1000000 if X86_64 |
1743 | ---help--- | 1759 | ---help--- |
@@ -2393,6 +2409,14 @@ config X86_DMA_REMAP | |||
2393 | bool | 2409 | bool |
2394 | depends on STA2X11 | 2410 | depends on STA2X11 |
2395 | 2411 | ||
2412 | config IOSF_MBI | ||
2413 | bool | ||
2414 | depends on PCI | ||
2415 | ---help--- | ||
2416 | To be selected by modules requiring access to the Intel OnChip System | ||
2417 | Fabric (IOSF) Sideband MailBox Interface (MBI). For MBI platforms | ||
2418 | enumerable by PCI. | ||
2419 | |||
2396 | source "net/Kconfig" | 2420 | source "net/Kconfig" |
2397 | 2421 | ||
2398 | source "drivers/Kconfig" | 2422 | source "drivers/Kconfig" |