1. 02 May, 2017 38 commits
    • Vitaly Kuznetsov's avatar
      x86/xen: rename some PV-only functions in smp_pv.c · 8cb6de39
      Vitaly Kuznetsov authored
      After code split between PV and HVM some functions in xen_smp_ops have
      xen_pv_ prefix and some only xen_ which makes them look like they're
      common for both PV and HVM while they're not. Rename all the rest to
      have xen_pv_ prefix.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      8cb6de39
    • Vitaly Kuznetsov's avatar
      x86/xen: enable PVHVM-only builds · 33af7469
      Vitaly Kuznetsov authored
      Now everything is in place and we can move PV-only code under
      CONFIG_XEN_PV. CONFIG_XEN_PV_SMP is created to support the change.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      33af7469
    • Vitaly Kuznetsov's avatar
      xen: create xen_create/destroy_contiguous_region() stubs for PVHVM only builds · 16624390
      Vitaly Kuznetsov authored
      xen_create_contiguous_region()/xen_create_contiguous_region() are PV-only,
      they both contain xen_feature(XENFEAT_auto_translated_physmap) check and
      bail in the very beginning.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      16624390
    • Vitaly Kuznetsov's avatar
      xen/balloon: decorate PV-only parts with #ifdef CONFIG_XEN_PV · 4fee9ad8
      Vitaly Kuznetsov authored
      Balloon driver uses several PV-only concepts (xen_start_info,
      xen_extra_mem,..) and it seems the simpliest solution to make HVM-only
      build happy is to decorate these parts with #ifdefs.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      4fee9ad8
    • Vitaly Kuznetsov's avatar
      x86/xen: create stubs for HVM-only builds in page.h · 3d4ebdb2
      Vitaly Kuznetsov authored
      __pfn_to_mfn() is only used from PV code (mmu_pv.c, p2m.c) and from
      page.h where all functions calling it check for
      xen_feature(XENFEAT_auto_translated_physmap) first so we can replace
      it with any stub to make build happy.
      
      set_foreign_p2m_mapping()/clear_foreign_p2m_mapping() are used from
      grant-table.c but only if !xen_feature(XENFEAT_auto_translated_physmap).
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      3d4ebdb2
    • Vitaly Kuznetsov's avatar
      x86/xen: define startup_xen for XEN PV only · c504b2f1
      Vitaly Kuznetsov authored
      startup_xen references PV-only code, decorate it with #ifdef CONFIG_XEN_PV
      to make PV-free builds possible.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      c504b2f1
    • Vitaly Kuznetsov's avatar
      x86/xen: put setup.c, pmu.c and apic.c under CONFIG_XEN_PV · 50a1062d
      Vitaly Kuznetsov authored
      xen_pmu_init/finish() functions are used in suspend.c and
      enlighten.c, add stubs for now.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      50a1062d
    • Vitaly Kuznetsov's avatar
      x86/xen: split suspend.c for PV and PVHVM guests · 9963236d
      Vitaly Kuznetsov authored
      Slit the code in suspend.c into suspend_pv.c and suspend_hvm.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      9963236d
    • Vitaly Kuznetsov's avatar
      x86/xen: split off mmu_pv.c · 7e0563de
      Vitaly Kuznetsov authored
      Basically, mmu.c is renamed to mmu_pv.c and some code moved out to common
      mmu.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      7e0563de
    • Vitaly Kuznetsov's avatar
      x86/xen: split off mmu_hvm.c · feef87eb
      Vitaly Kuznetsov authored
      Move PVHVM related code to mmu_hvm.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      feef87eb
    • Vitaly Kuznetsov's avatar
      x86/xen: split off smp_pv.c · 83b96794
      Vitaly Kuznetsov authored
      Basically, smp.c is renamed to smp_pv.c and some code moved out to common
      smp.c. struct xen_common_irq delcaration ended up in smp.h.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      83b96794
    • Vitaly Kuznetsov's avatar
      x86/xen: split off smp_hvm.c · a52482d9
      Vitaly Kuznetsov authored
      Move PVHVM related code to smp_hvm.c. Drop 'static' qualifier from
      xen_smp_send_reschedule(), xen_smp_send_call_function_ipi(),
      xen_smp_send_call_function_single_ipi(), these functions will be moved to
      common smp code when smp_pv.c is split.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      a52482d9
    • Vitaly Kuznetsov's avatar
      x86/xen: split xen_cpu_die() · aa1c84e8
      Vitaly Kuznetsov authored
      Split xen_cpu_die() into xen_pv_cpu_die() and xen_hvm_cpu_die() to support
      further splitting of smp.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      aa1c84e8
    • Vitaly Kuznetsov's avatar
      x86/xen: split xen_smp_prepare_boot_cpu() · a2d1078a
      Vitaly Kuznetsov authored
      Split xen_smp_prepare_boot_cpu() into xen_pv_smp_prepare_boot_cpu() and
      xen_hvm_smp_prepare_boot_cpu() to support further splitting of smp.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      a2d1078a
    • Vitaly Kuznetsov's avatar
      x86/xen: split xen_smp_intr_init()/xen_smp_intr_free() · 04e95761
      Vitaly Kuznetsov authored
      xen_smp_intr_init() and xen_smp_intr_free() have PV-specific code and as
      a praparatory change to splitting smp.c we need to split these fucntions.
      Create xen_smp_intr_init_pv()/xen_smp_intr_free_pv().
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      04e95761
    • Vitaly Kuznetsov's avatar
      x86/xen: split off enlighten_pv.c · e1dab14c
      Vitaly Kuznetsov authored
      Basically, enlighten.c is renamed to enlighten_pv.c and some code moved
      out to common enlighten.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      e1dab14c
    • Vitaly Kuznetsov's avatar
      x86/xen: split off enlighten_hvm.c · 98f2a47a
      Vitaly Kuznetsov authored
      Move PVHVM related code to enlighten_hvm.c. Three functions:
      xen_cpuhp_setup(), xen_reboot(), xen_emergency_restart() are shared, drop
      static qualifier from them. These functions will go to common code once
      it is split from enlighten.c.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      98f2a47a
    • Vitaly Kuznetsov's avatar
      x86/xen: split off enlighten_pvh.c · 481d6632
      Vitaly Kuznetsov authored
      Create enlighten_pvh.c by splitting off PVH related code from enlighten.c,
      put it under CONFIG_XEN_PVH.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      481d6632
    • Vitaly Kuznetsov's avatar
      x86/xen: add CONFIG_XEN_PV to Kconfig · 5e57f1d6
      Vitaly Kuznetsov authored
      All code to support Xen PV will get under this new option. For the
      beginning, check for it in the common code.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      5e57f1d6
    • Vitaly Kuznetsov's avatar
      x86/xen: globalize have_vcpu_info_placement · 52519f2a
      Vitaly Kuznetsov authored
      have_vcpu_info_placement applies to both PV and HVM and as we're going
      to split the code we need to make it global.
      
      Rename to xen_have_vcpu_info_placement.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      52519f2a
    • Vitaly Kuznetsov's avatar
      x86/xen: separate PV and HVM hypervisors · 0991d22d
      Vitaly Kuznetsov authored
      As a preparation to splitting the code we need to untangle it:
      
      x86_hyper_xen -> x86_hyper_xen_hvm and x86_hyper_xen_pv
      xen_platform() -> xen_platform_hvm() and xen_platform_pv()
      xen_cpu_up_prepare() -> xen_cpu_up_prepare_pv() and xen_cpu_up_prepare_hvm()
      xen_cpu_dead() -> xen_cpu_dead_pv() and xen_cpu_dead_pv_hvm()
      
      Add two parameters to xen_cpuhp_setup() to pass proper cpu_up_prepare and
      cpu_dead hooks. xen_set_cpu_features() is now PV-only so the redundant
      xen_pv_domain() check can be dropped.
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      0991d22d
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d3b5d352
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The main x86 MM changes in this cycle were:
      
         - continued native kernel PCID support preparation patches to the TLB
           flushing code (Andy Lutomirski)
      
         - various fixes related to 32-bit compat syscall returning address
           over 4Gb in applications, launched from 64-bit binaries - motivated
           by C/R frameworks such as Virtuozzo. (Dmitry Safonov)
      
         - continued Intel 5-level paging enablement: in particular the
           conversion of x86 GUP to the generic GUP code. (Kirill A. Shutemov)
      
         - x86/mpx ABI corner case fixes/enhancements (Joerg Roedel)
      
         - ... plus misc updates, fixes and cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits)
        mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash
        x86/mm: Fix flush_tlb_page() on Xen
        x86/mm: Make flush_tlb_mm_range() more predictable
        x86/mm: Remove flush_tlb() and flush_tlb_current_task()
        x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
        x86/mm/64: Fix crash in remove_pagetable()
        Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation"
        x86/boot/e820: Remove a redundant self assignment
        x86/mm: Fix dump pagetables for 4 levels of page tables
        x86/mpx, selftests: Only check bounds-vs-shadow when we keep shadow
        x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space
        Revert "x86/mm/numa: Remove numa_nodemask_from_meminfo()"
        x86/espfix: Add support for 5-level paging
        x86/kasan: Extend KASAN to support 5-level paging
        x86/mm: Add basic defines/helpers for CONFIG_X86_5LEVEL=y
        x86/paravirt: Add 5-level support to the paravirt code
        x86/mm: Define virtual memory map for 5-level paging
        x86/asm: Remove __VIRTUAL_MASK_SHIFT==47 assert
        x86/boot: Detect 5-level paging support
        x86/mm/numa: Remove numa_nodemask_from_meminfo()
        ...
      d3b5d352
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · aa2a4b65
      Linus Torvalds authored
      Pull x86 vdso updates from Ingo Molnar:
       "Add support for vDSO acceleration of the "Hyper-V TSC page", to speed
        up clock reading on Hyper-V guests"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Add VCLOCK_HVCLOCK vDSO clock read method
        x86/hyperv: Move TSC reading method to asm/mshyperv.h
        x86/hyperv: Implement hv_get_tsc_page()
      aa2a4b65
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d19458a4
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Most of the commits are continued SGI UV4 hardware-enablement changes,
        plus there's also new Bluetooth support for the Intel Edison platform"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/intel-mid: Enable Bluetooth support on Intel Edison
        x86/platform/uv/BAU: Implement uv4_wait_completion with read_status
        x86/platform/uv/BAU: Add wait_completion to bau_operations
        x86/platform/uv/BAU: Add status mmr location fields to bau_control
        x86/platform/uv/BAU: Cleanup bau_operations declaration and instances
        x86/platform/uv/BAU: Add payload descriptor qualifier
        x86/platform/uv/BAU: Add uv_bau_version enumerated constants
      d19458a4
    • Linus Torvalds's avatar
      Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 888411be
      Linus Torvalds authored
      Pull x86 irq update from Ingo Molnar:
       "A single commit that micro-optimizes an IRQ vectors code path in the
        CPU offlining code"
      
      * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Optimize free vector check in the CPU offline path
      888411be
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7d6a31c3
      Linus Torvalds authored
      Pull x86 debug updates from Ingo Molnar:
       "The biggest update is the addition of USB3 debug port based
        early-console.
      
        Greg was fine with the USB changes and with the routing of these
        patches:
      
          https://www.spinics.net/lists/linux-usb/msg155093.html"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        usb/doc: Add document for USB3 debug port usage
        usb/serial: Add DBC debug device support to usb_debug
        x86/earlyprintk: Add support for earlyprintk via USB3 debug port
        usb/early: Add driver for xhci debug capability
        x86/timers: Add simple udelay calibration
      7d6a31c3
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2cc12e2e
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "A handful of small cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Remove a redundant #ifdef directive
        x86/smp: Remove the redundant #ifdef CONFIG_SMP directive
        x86/smp: Reduce code duplication
        x86/pci-calgary: Use setup_timer() instead of open coding it.
      2cc12e2e
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 66acd7fc
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "A single CLang support related fix"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kbuild: Use cc-option to enable -falign-{jumps/loops}
      66acd7fc
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fb9268e
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - unwinder fixes and enhancements
      
         - improve ftrace interaction with the unwinder
      
         - optimize the code footprint of WARN() and related debugging
           constructs
      
         - ... plus misc updates, cleanups and fixes"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        x86/unwind: Dump all stacks in unwind_dump()
        x86/unwind: Silence more entry-code related warnings
        x86/ftrace: Fix ebp in ftrace_regs_caller that screws up unwinder
        x86/unwind: Remove unused 'sp' parameter in unwind_dump()
        x86/unwind: Prepend hex mask value with '0x' in unwind_dump()
        x86/unwind: Properly zero-pad 32-bit values in unwind_dump()
        x86/unwind: Ensure stack pointer is aligned
        debug: Avoid setting BUGFLAG_WARNING twice
        x86/unwind: Silence entry-related warnings
        x86/unwind: Read stack return address in update_stack_state()
        x86/unwind: Move common code into update_stack_state()
        debug: Fix __bug_table[] in arch linker scripts
        debug: Add _ONCE() logic to report_bug()
        x86/debug: Define BUG() again for !CONFIG_BUG
        x86/debug: Implement __WARN() using UD0
        x86/ftrace: Use Makefile logic instead of #ifdef for compiling ftrace_*.o
        x86/ftrace: Add -mfentry support to x86_32 with DYNAMIC_FTRACE set
        x86/ftrace: Clean up ftrace_regs_caller
        x86/ftrace: Add stack frame pointer to ftrace_caller
        x86/ftrace: Move the ftrace specific code out of entry_32.S
        ...
      3fb9268e
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 12ca7c8d
      Linus Torvalds authored
      Pull x86 apic updates from Ingo Molnar:
       "Two small cleanups"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Fix a comment in init_apic_mappings()
        x86/apic: Remove the SET_APIC_ID(x) macro
      12ca7c8d
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a52bbaf4
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "The biggest changes are an extension of the Intel RDT code to extend
        it with Intel Memory Bandwidth Allocation CPU support: MBA allows
        bandwidth allocation between cores, while CBM (already upstream)
        allows CPU cache partitioning.
      
        There's also misc smaller fixes and updates"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/intel_rdt: Return error for incorrect resource names in schemata
        x86/intel_rdt: Trim whitespace while parsing schemata input
        x86/intel_rdt: Fix padding when resource is enabled via mount
        x86/intel_rdt: Get rid of anon union
        x86/cpu: Keep model defines sorted by model number
        x86/intel_rdt/mba: Add schemata file support for MBA
        x86/intel_rdt: Make schemata file parsers resource specific
        x86/intel_rdt/mba: Add info directory files for Memory Bandwidth Allocation
        x86/intel_rdt: Make information files resource specific
        x86/intel_rdt/mba: Add primary support for Memory Bandwidth Allocation (MBA)
        x86/intel_rdt/mba: Memory bandwith allocation feature detect
        x86/intel_rdt: Add resource specific msr update function
        x86/intel_rdt: Move CBM specific data into a struct
        x86/intel_rdt: Cleanup namespace to support multiple resource types
        Documentation, x86: Intel Memory bandwidth allocation
        x86/intel_rdt: Organize code properly
        x86/intel_rdt: Init padding only if a device exists
        x86/intel_rdt: Add cpus_list rdtgroup file
        x86/intel_rdt: Cleanup kernel-doc
        x86/intel_rdt: Update schemata read to show data in tabular format
        ...
      a52bbaf4
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 16b76293
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The biggest changes in this cycle were:
      
         - reworking of the e820 code: separate in-kernel and boot-ABI data
           structures and apply a whole range of cleanups to the kernel side.
      
           No change in functionality.
      
         - enable KASLR by default: it's used by all major distros and it's
           out of the experimental stage as well.
      
         - ... misc fixes and cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
        x86/KASLR: Fix kexec kernel boot crash when KASLR randomization fails
        x86/reboot: Turn off KVM when halting a CPU
        x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup
        x86: Enable KASLR by default
        boot/param: Move next_arg() function to lib/cmdline.c for later reuse
        x86/boot: Fix Sparse warning by including required header file
        x86/boot/64: Rename start_cpu()
        x86/xen: Update e820 table handling to the new core x86 E820 code
        x86/boot: Fix pr_debug() API braindamage
        xen, x86/headers: Add <linux/device.h> dependency to <asm/xen/page.h>
        x86/boot/e820: Simplify e820__update_table()
        x86/boot/e820: Separate the E820 ABI structures from the in-kernel structures
        x86/boot/e820: Fix and clean up e820_type switch() statements
        x86/boot/e820: Rename the remaining E820 APIs to the e820__*() prefix
        x86/boot/e820: Remove unnecessary #include's
        x86/boot/e820: Rename e820_mark_nosave_regions() to e820__register_nosave_regions()
        x86/boot/e820: Rename e820_reserve_resources*() to e820__reserve_resources*()
        x86/boot/e820: Use bool in query APIs
        x86/boot/e820: Document e820__reserve_setup_data()
        x86/boot/e820: Clean up __e820__update_table() et al
        ...
      16b76293
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3dee9fb2
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - add the 'Corrected Errors Collector' kernel feature which collect
           and monitor correctable errors statistics and will preemptively
           (soft-)offline physical pages that have a suspiciously high error
           count.
      
         - handle MCE errors during kexec() more gracefully
      
         - factor out and deprecate the /dev/mcelog driver
      
         - ... plus misc fixes and cleanpus"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Check MCi_STATUS[MISCV] for usable addr on Intel only
        ACPI/APEI: Use setup_deferrable_timer()
        x86/mce: Update notifier priority check
        x86/mce: Enable PPIN for Knights Landing/Mill
        x86/mce: Do not register notifiers with invalid prio
        x86/mce: Factor out and deprecate the /dev/mcelog driver
        RAS: Add a Corrected Errors Collector
        x86/mce: Rename mce_log to mce_log_buffer
        x86/mce: Rename mce_log()'s argument
        x86/mce: Init some CPU features early
        x86/mce: Handle broadcasted MCE gracefully with kexec
      3dee9fb2
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c8c03bf
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle were:
      
        Kernel side changes:
      
         - Kprobes and uprobes changes:
            - Make their trampolines read-only while they are used
            - Make UPROBES_EVENTS default-y which is the distro practice
            - Apply misc fixes and robustization to probe point insertion.
      
         - add support for AMD IOMMU events
      
         - extend hw events on Intel Goldmont CPUs
      
         - ... plus misc fixes and updates.
      
        Tooling side changes:
      
         - support s390 jump instructions in perf annotate (Christian
           Borntraeger)
      
         - vendor hardware events updates (Andi Kleen)
      
         - add argument support for SDT events in powerpc (Ravi Bangoria)
      
         - beautify the statx syscall arguments in 'perf trace' (Arnaldo
           Carvalho de Melo)
      
         - handle inline functions in callchains (Jin Yao)
      
         - enable sorting by srcline as key (Milian Wolff)
      
         - add 'brstackinsn' field in 'perf script' to reuse the x86
           instruction decoder used in the Intel PT code to study hot paths to
           samples (Andi Kleen)
      
         - add PERF_RECORD_NAMESPACES so that the kernel can record
           information required to associate samples to namespaces, helping in
           container problem characterization. (Hari Bathini)
      
         - allow sorting by symbol_size in 'perf report' and 'perf top'
           (Charles Baylis)
      
         - in perf stat, make system wide (-a) the default option if no target
           was specified and one of following conditions is met:
            - no workload specified (current behaviour)
            - a workload is specified but all requested events are system wide
              ones, like uncore ones. (Jiri Olsa)
      
         - ... plus lots of other updates, enhancements, cleanups and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (235 commits)
        perf tools: Fix the code to strip command name
        tools arch x86: Sync cpufeatures.h
        tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
        tools: Update asm-generic/mman-common.h copy from the kernel
        perf tools: Use just forward declarations for struct thread where possible
        perf tools: Add the right header to obtain PERF_ALIGN()
        perf tools: Remove poll.h and wait.h from util.h
        perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
        perf tools: Remove stale prototypes from builtin.h
        perf tools: Remove string.h from util.h
        perf tools: Remove sys/ioctl.h from util.h
        perf tools: Remove a few more needless includes from util.h
        perf tools: Include sys/param.h where needed
        perf callchain: Move callchain specific routines from util.[ch]
        perf tools: Add compress.h for the *_decompress_to_file() headers
        perf mem: Fix display of data source snoop indication
        perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
        perf kvm: Make function only used by 'perf kvm' static
        perf tools: Move timestamp routines from util.h to time-utils.h
        perf tools: Move units conversion/formatting routines to separate object
        ...
      7c8c03bf
    • Linus Torvalds's avatar
      Merge branch 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6dc2cce9
      Linus Torvalds authored
      Pul x86/process updates from Ingo Molnar:
       "The main change in this cycle was to add the ARCH_[GET|SET]_CPUID
        prctl() ABI extension to control the availability of the CPUID
        instruction, analogously to the existing PR_GET|SET_TSC ABI that
        controls RDTSC.
      
        Motivation: the 'rr' user-space record-and-replay execution debugger
        would like to trap and emulate the CPUID instruction - which
        instruction is normally unprivileged.
      
        Trapping CPUID is possible on IvyBridge and later Intel CPUs - expose
        this hardware capability"
      
      * 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/syscalls/32: Ignore arch_prctl for other architectures
        um/arch_prctl: Fix fallout from x86 arch_prctl() rework
        x86/arch_prctl: Add ARCH_[GET|SET]_CPUID
        x86/cpufeature: Detect CPUID faulting support
        x86/syscalls/32: Wire up arch_prctl on x86-32
        x86/arch_prctl: Add do_arch_prctl_common()
        x86/arch_prctl/64: Rename do_arch_prctl() to do_arch_prctl_64()
        x86/arch_prctl/64: Use SYSCALL_DEFINE2 to define sys_arch_prctl()
        x86/arch_prctl: Rename 'code' argument to 'option'
        x86/msr: Rename MISC_FEATURE_ENABLES to MISC_FEATURES_ENABLES
        x86/process: Optimize TIF_NOTSC switch
        x86/process: Correct and optimize TIF_BLOCKSTEP switch
        x86/process: Optimize TIF checks in __switch_to_xtra()
      6dc2cce9
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 207fb8c3
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - a big round of FUTEX_UNLOCK_PI improvements, fixes, cleanups and
           general restructuring
      
         - lockdep updates such as new checks for lock_downgrade()
      
         - introduce the new atomic_try_cmpxchg() locking API and use it to
           optimize refcount code generation
      
         - ... plus misc fixes, updates and cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)
        MAINTAINERS: Add FUTEX SUBSYSTEM
        futex: Clarify mark_wake_futex memory barrier usage
        futex: Fix small (and harmless looking) inconsistencies
        futex: Avoid freeing an active timer
        rtmutex: Plug preempt count leak in rt_mutex_futex_unlock()
        rtmutex: Fix more prio comparisons
        rtmutex: Fix PI chain order integrity
        sched,tracing: Update trace_sched_pi_setprio()
        sched/rtmutex: Refactor rt_mutex_setprio()
        rtmutex: Clean up
        sched/deadline/rtmutex: Dont miss the dl_runtime/dl_period update
        sched/rtmutex/deadline: Fix a PI crash for deadline tasks
        rtmutex: Deboost before waking up the top waiter
        locking/ww-mutex: Limit stress test to 2 seconds
        locking/atomic: Fix atomic_try_cmpxchg() semantics
        lockdep: Fix per-cpu static objects
        futex: Drop hb->lock before enqueueing on the rtmutex
        futex: Futex_unlock_pi() determinism
        futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()
        futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock()
        ...
      207fb8c3
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3527d3e9
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - another round of rq-clock handling debugging, robustization and
           fixes
      
         - PELT accounting improvements
      
         - CPU hotplug related ->cpus_allowed affinity handling fixes all
           around the tree
      
         - ... plus misc fixes, cleanups and updates"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
        sched/x86: Update reschedule warning text
        crypto: N2 - Replace racy task affinity logic
        cpufreq/sparc-us2e: Replace racy task affinity logic
        cpufreq/sparc-us3: Replace racy task affinity logic
        cpufreq/sh: Replace racy task affinity logic
        cpufreq/ia64: Replace racy task affinity logic
        ACPI/processor: Replace racy task affinity logic
        ACPI/processor: Fix error handling in __acpi_processor_start()
        sparc/sysfs: Replace racy task affinity logic
        powerpc/smp: Replace open coded task affinity logic
        ia64/sn/hwperf: Replace racy task affinity logic
        ia64/salinfo: Replace racy task affinity logic
        workqueue: Provide work_on_cpu_safe()
        ia64/topology: Remove cpus_allowed manipulation
        sched/fair: Move the PELT constants into a generated header
        sched/fair: Increase PELT accuracy for small tasks
        sched/fair: Fix comments
        sched/Documentation: Add 'sched-pelt' tool
        sched/fair: Fix corner case in __accumulate_sum()
        sched/core: Remove 'task' parameter and rename tsk_restore_flags() to current_restore_flags()
        ...
      3527d3e9
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3711c94f
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - move BGRT handling to drivers/acpi so it can be shared between x86
           and ARM
      
         - bring the EFI stub's initrd and FDT allocation logic in line with
           the latest changes to the arm64 boot protocol
      
         - improvements and fixes to the EFI stub's command line parsing
           routines
      
         - randomize the virtual mapping of the UEFI runtime services on
           ARM/arm64
      
         - ... and other misc enhancements, cleanups and fixes"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub/arm: Don't use TASK_SIZE when randomizing the RT space
        ef/libstub/arm/arm64: Randomize the base of the UEFI rt services region
        efi/libstub/arm/arm64: Disable debug prints on 'quiet' cmdline arg
        efi/libstub: Unify command line param parsing
        efi/libstub: Fix harmless command line parsing bug
        efi/arm32-stub: Allow boot-time allocations in the vmlinux region
        x86/efi: Clean up a minor mistake in comment
        efi/pstore: Return error code (if any) from efi_pstore_write()
        efi/bgrt: Enable ACPI BGRT handling on arm64
        x86/efi/bgrt: Move efi-bgrt handling out of arch/x86
        efi/arm-stub: Round up FDT allocation to mapping size
        efi/arm-stub: Correct FDT and initrd allocation rules for arm64
      3711c94f
  2. 01 May, 2017 2 commits
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 174ddfd5
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The timer departement delivers:
      
         - more year 2038 rework
      
         - a massive rework of the arm achitected timer
      
         - preparatory patches to allow NTP correction of clock event devices
           to avoid early expiry
      
         - the usual pile of fixes and enhancements all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
        timer/sysclt: Restrict timer migration sysctl values to 0 and 1
        arm64/arch_timer: Mark errata handlers as __maybe_unused
        Clocksource/mips-gic: Remove redundant non devicetree init
        MIPS/Malta: Probe gic-timer via devicetree
        clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
        acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
        clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
        acpi/arm64: Add memory-mapped timer support in GTDT driver
        clocksource: arm_arch_timer: simplify ACPI support code.
        acpi/arm64: Add GTDT table parse driver
        clocksource: arm_arch_timer: split MMIO timer probing.
        clocksource: arm_arch_timer: add structs to describe MMIO timer
        clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call
        clocksource: arm_arch_timer: refactor arch_timer_needs_probing
        clocksource: arm_arch_timer: split dt-only rate handling
        x86/uv/time: Set ->min_delta_ticks and ->max_delta_ticks
        unicore32/time: Set ->min_delta_ticks and ->max_delta_ticks
        um/time: Set ->min_delta_ticks and ->max_delta_ticks
        tile/time: Set ->min_delta_ticks and ->max_delta_ticks
        score/time: Set ->min_delta_ticks and ->max_delta_ticks
        ...
      174ddfd5
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3cb66535
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Nothing exciting from the irq side for this merge window:
      
         - a new driver for a Mediatek SoC
      
         - ACPI support for ARM GICV3
      
         - support for shared nested interrupts
      
         - the usual pile of fixes and updates all over te place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
        irqchip/mbigen: Fix return value check in mbigen_device_probe()
        irqchip/mips-gic: Replace static map with dynamic
        irqchip/mips-gic: Remove device IRQ domain
        irqchip/mips-gic: Separate IPI reservation & usage tracking
        genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs
        genirq: Use cpumask_available() for check of cpumask variable
        cpumask: Add helper cpumask_available()
        irqchip/irq-imx-gpcv2: Clear OF_POPULATED flag
        irqchip/atmel-aic5: Handle suspend to RAM
        irqchip: Add Mediatek mtk-cirq driver
        dt-bindings: mtk-cirq: Add binding document
        irqchip/gic-v3-its: Add IORT hook for platform MSI support
        irqchip/mbigen: Add ACPI support
        irqchip/mbigen: Introduce mbigen_of_create_domain()
        irqchip/mbigen: Drop module owner
        platform-msi: Make platform_msi_create_device_domain() ACPI aware
        irqchip/gicv3-its: platform-msi: Scan MADT to create platform msi domain
        irqchip/gicv3-its: platform-msi: Refactor its_pmsi_init() to prepare for ACPI
        irqchip/gicv3-its: platform-msi: Refactor its_pmsi_prepare()
        irqchip/gic-v3-its: Keep the include header files in alphabetic order
        ...
      3cb66535