Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Jan 2018 02:17:39 +0000 (18:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Jan 2018 02:17:39 +0000 (18:17 -0800)
Pull x86 platform updates from Thomas Gleixner:
 "The platform support for x86 contains the following updates:

   - A set of updates for the UV platform to support new CPUs and to fix
     some of the UV4A BAU MRRs

   - The initial platform support for the jailhouse hypervisor to allow
     native Linux guests (inmates) in non-root cells.

   - A fix for the PCI initialization on Intel MID platforms"

* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
  x86/jailhouse: Respect pci=lastbus command line settings
  x86/jailhouse: Set X86_FEATURE_TSC_KNOWN_FREQ
  x86/platform/intel-mid: Move PCI initialization to arch_init()
  x86/platform/uv/BAU: Replace hard-coded values with MMR definitions
  x86/platform/UV: Fix UV4A BAU MMRs
  x86/platform/UV: Fix GAM MMR references in the UV x2apic code
  x86/platform/UV: Fix GAM MMR changes in UV4A
  x86/platform/UV: Add references to access fixed UV4A HUB MMRs
  x86/platform/UV: Fix UV4A support on new Intel Processors
  x86/platform/UV: Update uv_mmrs.h to prepare for UV4A fixes
  x86/jailhouse: Add PCI dependency
  x86/jailhouse: Hide x2apic code when CONFIG_X86_X2APIC=n
  x86/jailhouse: Initialize PCI support
  x86/jailhouse: Wire up IOAPIC for legacy UART ports
  x86/jailhouse: Halt instead of failing to restart
  x86/jailhouse: Silence ACPI warning
  x86/jailhouse: Avoid access of unsupported platform resources
  x86/jailhouse: Set up timekeeping
  x86/jailhouse: Enable PMTIMER
  x86/jailhouse: Enable APIC and SMP support
  ...

1  2 
arch/x86/Kconfig
arch/x86/kernel/Makefile

diff --combined arch/x86/Kconfig
index 20da391b5f329885e26b30e0351d73d571d28fc1,390be2eb153dade70cc778a166da3a38ade66833..423e4b64e683d960ce1e50d02be879705b524617
@@@ -88,7 -88,6 +88,7 @@@ config X8
        select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select GENERIC_CMOS_UPDATE
        select GENERIC_CPU_AUTOPROBE
 +      select GENERIC_CPU_VULNERABILITIES
        select GENERIC_EARLY_IOREMAP
        select GENERIC_FIND_FIRST_BIT
        select GENERIC_IOMAP
@@@ -429,19 -428,6 +429,19 @@@ config GOLDFIS
         def_bool y
         depends on X86_GOLDFISH
  
 +config RETPOLINE
 +      bool "Avoid speculative indirect branches in kernel"
 +      default y
 +      help
 +        Compile kernel with the retpoline compiler options to guard against
 +        kernel-to-user data leaks by avoiding speculative indirect
 +        branches. Requires a compiler with -mindirect-branch=thunk-extern
 +        support for full protection. The kernel may run slower.
 +
 +        Without compiler support, at least indirect branches in assembler
 +        code are eliminated. Since this includes the syscall entry path,
 +        it is not entirely pointless.
 +
  config INTEL_RDT
        bool "Intel Resource Director Technology support"
        default n
@@@ -810,6 -796,15 +810,15 @@@ config PARAVIRT_TIME_ACCOUNTIN
  config PARAVIRT_CLOCK
        bool
  
+ config JAILHOUSE_GUEST
+       bool "Jailhouse non-root cell support"
+       depends on X86_64 && PCI
+       select X86_PM_TIMER
+       ---help---
+         This option allows to run Linux as guest in a Jailhouse non-root
+         cell. You can leave this option disabled if you only want to start
+         Jailhouse and run Linux afterwards in the root cell.
  endif #HYPERVISOR_GUEST
  
  config NO_BOOTMEM
diff --combined arch/x86/kernel/Makefile
index 7e2baf7304ae491974fedbab7dfaa4311eaa3b9f,aed9296dccd3288dee7d6c4dc249fd5fc3ddd49a..29786c87e864524cc020798a10198a9cc0f3ca0a
@@@ -29,13 -29,10 +29,13 @@@ KASAN_SANITIZE_stacktrace.o                                := 
  KASAN_SANITIZE_paravirt.o                             := n
  
  OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o   := y
 -OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o            := y
  OBJECT_FILES_NON_STANDARD_test_nx.o                   := y
  OBJECT_FILES_NON_STANDARD_paravirt_patch_$(BITS).o    := y
  
 +ifdef CONFIG_FRAME_POINTER
 +OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o            := y
 +endif
 +
  # If instrumentation of this dir is enabled, boot hangs during first second.
  # Probably could be more selective here, but note that files related to irqs,
  # boot, dumpstack/stacktrace, etc are either non-interesting or can lead to
@@@ -115,6 -112,8 +115,8 @@@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= para
  obj-$(CONFIG_PARAVIRT_CLOCK)  += pvclock.o
  obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o
  
+ obj-$(CONFIG_JAILHOUSE_GUEST) += jailhouse.o
  obj-$(CONFIG_EISA)            += eisa.o
  obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o