Skip to content
  1. May 02, 2017
    • Stefano Stabellini's avatar
      xen/9pfs: send requests to the backend · f023f18d
      Stefano Stabellini authored
      
      
      Implement struct p9_trans_module create and close functions by looking
      at the available Xen 9pfs frontend-backend connections. We don't expect
      many frontend-backend connections, thus walking a list is OK.
      
      Send requests to the backend by copying each request to one of the
      available rings (each frontend-backend connection comes with multiple
      rings). Handle the ring and notifications following the 9pfs
      specification. If there are not enough free bytes on the ring for the
      request, wait on the wait_queue: the backend will send a notification
      after consuming more requests.
      
      CC: groug@kaod.org
      CC: jgross@suse.com
      CC: Eric Van Hensbergen <ericvh@gmail.com>
      CC: Ron Minnich <rminnich@sandia.gov>
      CC: Latchesar Ionkov <lucho@ionkov.net>
      CC: v9fs-developer@lists.sourceforge.net
      
      Signed-off-by: default avatarStefano Stabellini <stefano@aporeto.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      f023f18d
    • Stefano Stabellini's avatar
      xen/9pfs: connect to the backend · 71ebd719
      Stefano Stabellini authored
      
      
      Implement functions to handle the xenbus handshake. Upon connection,
      allocate the rings according to the protocol specification.
      
      Initialize a work_struct and a wait_queue. The work_struct will be used
      to schedule work upon receiving an event channel notification from the
      backend. The wait_queue will be used to wait when the ring is full and
      we need to send a new request.
      
      CC: groug@kaod.org
      CC: boris.ostrovsky@oracle.com
      CC: jgross@suse.com
      CC: Eric Van Hensbergen <ericvh@gmail.com>
      CC: Ron Minnich <rminnich@sandia.gov>
      CC: Latchesar Ionkov <lucho@ionkov.net>
      CC: v9fs-developer@lists.sourceforge.net
      
      Signed-off-by: default avatarStefano Stabellini <stefano@aporeto.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      71ebd719
    • Stefano Stabellini's avatar
      xen/9pfs: introduce Xen 9pfs transport driver · 868eb122
      Stefano Stabellini authored
      
      
      Introduce the Xen 9pfs transport driver: add struct xenbus_driver to
      register as a xenbus driver and add struct p9_trans_module to register
      as v9fs driver.
      
      All functions are empty stubs for now.
      
      CC: groug@kaod.org
      CC: jgross@suse.com
      CC: Eric Van Hensbergen <ericvh@gmail.com>
      CC: Ron Minnich <rminnich@sandia.gov>
      CC: Latchesar Ionkov <lucho@ionkov.net>
      CC: v9fs-developer@lists.sourceforge.net
      
      Signed-off-by: default avatarStefano Stabellini <stefano@aporeto.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      868eb122
    • Stefano Stabellini's avatar
      xen: introduce the header file for the Xen 9pfs transport protocol · 04c40dfc
      Stefano Stabellini authored
      
      
      It uses the new ring.h macros to declare rings and interfaces.
      
      CC: konrad.wilk@oracle.com
      CC: boris.ostrovsky@oracle.com
      CC: jgross@suse.com
      CC: groug@kaod.org
      
      Signed-off-by: default avatarStefano Stabellini <stefano@aporeto.com>
      Acked-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      04c40dfc
    • Stefano Stabellini's avatar
      xen: import new ring macros in ring.h · 564f7dfd
      Stefano Stabellini authored
      
      
      Sync the ring.h file with upstream Xen, to introduce the new ring macros.
      They will be used by the Xen transport for 9pfs.
      
      CC: konrad.wilk@oracle.com
      CC: boris.ostrovsky@oracle.com
      CC: jgross@suse.com
      CC: groug@kaod.org
      
      Signed-off-by: default avatarStefano Stabellini <stefano@aporeto.com>
      Acked-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      564f7dfd
    • Juergen Gross's avatar
      x86/xen: remove unused static function from smp_pv.c · ab1570a4
      Juergen Gross authored
      
      
      xen_call_function_interrupt() isn't used in smp_pv.c. Remove it.
      
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      ab1570a4
    • 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