[GIT PULL] Please pull my kvm-ppc-next branch again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paolo,

Please do a second pull from my kvm-ppc-next branch.  The main thing
here is a new implementation of the in-kernel XICS interrupt
controller emulation for POWER9 machines, from Ben Herrenschmidt.

POWER9 has a new interrupt controller called XIVE (eXternal Interrupt
Virtualization Engine) which is able to deliver interrupts directly to
guest virtual CPUs in hardware without hypervisor intervention.  With
this new code, the guest still sees the old XICS interface but
performance is better because the XICS emulation in the host uses the
XIVE directly rather than going through a XICS emulation in firmware.

The series that implements this was committed to the topic/xive branch
in the powerpc tree by Michael Ellerman, and I have merged that into
my kvm-ppc-next branch.

I would like this to go into 4.12.  I know this pull request is
somewhat late, but that is mostly because I had 3 weeks vacation this
month.  I have tested this on POWER9 and also tested that it doesn't
break other platforms such as POWER8.

The only other thing apart from that is a trivial warning fix.

Thanks,
Paul.

The following changes since commit bd17117bb2af60d4bc44e0f9c859e800a3d99722:

  Merge tag 'kvm-s390-next-4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2017-04-21 12:47:47 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc kvm-ppc-next

for you to fetch changes up to fb7dcf723dd2cb1d5d8f2f49c3023130938848e3:

  Merge remote-tracking branch 'remotes/powerpc/topic/xive' into kvm-ppc-next (2017-04-28 08:23:16 +1000)

----------------------------------------------------------------
Benjamin Herrenschmidt (11):
      powerpc/powernv: Add XIVE related definitions to opal-api.h
      powerpc: Add more PPC bit conversion macros
      powerpc: Add optional smp_ops->prepare_cpu SMP callback
      powerpc/smp: Remove migrate_irq() custom implementation
      powerpc/xive: Native exploitation of the XIVE interrupt controller
      powerpc/kvm: Massage order of #include
      powerpc/kvm: Make kvmppc_xics_create_icp static
      powerpc/kvm: Remove obsolete kvm_vm_ioctl_xics_irq declaration
      powerpc: Consolidate variants of real-mode MMIOs
      powerpc: Fixup LPCR:PECE and HEIC setting on POWER9
      KVM: PPC: Book3S HV: Native usage of the XIVE interrupt controller

Denis Kirjanov (1):
      KVM: PPC: Book3S HV: Avoid preemptibility warning in module initialization

Nicholas Piggin (1):
      powerpc/64s: Revert setting of LPCR[LPES] on POWER9

Paul Mackerras (1):
      Merge remote-tracking branch 'remotes/powerpc/topic/xive' into kvm-ppc-next

 arch/powerpc/include/asm/bitops.h              |    8 +
 arch/powerpc/include/asm/io.h                  |   98 +-
 arch/powerpc/include/asm/kvm_book3s_asm.h      |    4 +-
 arch/powerpc/include/asm/kvm_host.h            |   28 +-
 arch/powerpc/include/asm/kvm_ppc.h             |   84 +-
 arch/powerpc/include/asm/opal-api.h            |   74 +-
 arch/powerpc/include/asm/opal.h                |   36 +
 arch/powerpc/include/asm/reg.h                 |    1 +
 arch/powerpc/include/asm/smp.h                 |    2 +-
 arch/powerpc/include/asm/xive-regs.h           |   97 ++
 arch/powerpc/include/asm/xive.h                |  162 ++
 arch/powerpc/include/asm/xmon.h                |    2 +
 arch/powerpc/kernel/asm-offsets.c              |   10 +
 arch/powerpc/kernel/cpu_setup_power.S          |   15 +-
 arch/powerpc/kernel/irq.c                      |   40 -
 arch/powerpc/kernel/smp.c                      |   19 +-
 arch/powerpc/kvm/Kconfig                       |    5 +
 arch/powerpc/kvm/Makefile                      |    4 +-
 arch/powerpc/kvm/book3s.c                      |   83 +-
 arch/powerpc/kvm/book3s_hv.c                   |   69 +-
 arch/powerpc/kvm/book3s_hv_builtin.c           |  132 +-
 arch/powerpc/kvm/book3s_hv_rm_xics.c           |   14 +-
 arch/powerpc/kvm/book3s_hv_rm_xive.c           |   47 +
 arch/powerpc/kvm/book3s_hv_rmhandlers.S        |   62 +-
 arch/powerpc/kvm/book3s_rtas.c                 |   21 +-
 arch/powerpc/kvm/book3s_xics.c                 |   37 +-
 arch/powerpc/kvm/book3s_xics.h                 |    7 +
 arch/powerpc/kvm/book3s_xive.c                 | 1893 ++++++++++++++++++++++++
 arch/powerpc/kvm/book3s_xive.h                 |  256 ++++
 arch/powerpc/kvm/book3s_xive_template.c        |  503 +++++++
 arch/powerpc/kvm/irq.h                         |    1 +
 arch/powerpc/kvm/powerpc.c                     |   17 +-
 arch/powerpc/platforms/Kconfig.cputype         |    1 +
 arch/powerpc/platforms/powernv/Kconfig         |    1 +
 arch/powerpc/platforms/powernv/opal-wrappers.S |   15 +
 arch/powerpc/platforms/powernv/opal.c          |    1 +
 arch/powerpc/platforms/powernv/rng.c           |    2 +-
 arch/powerpc/platforms/powernv/setup.c         |   15 +-
 arch/powerpc/platforms/powernv/smp.c           |   39 +-
 arch/powerpc/sysdev/Kconfig                    |    1 +
 arch/powerpc/sysdev/Makefile                   |    1 +
 arch/powerpc/sysdev/xics/icp-native.c          |    8 +-
 arch/powerpc/sysdev/xive/Kconfig               |   11 +
 arch/powerpc/sysdev/xive/Makefile              |    4 +
 arch/powerpc/sysdev/xive/common.c              | 1432 ++++++++++++++++++
 arch/powerpc/sysdev/xive/native.c              |  715 +++++++++
 arch/powerpc/sysdev/xive/xive-internal.h       |   62 +
 arch/powerpc/xmon/xmon.c                       |   94 +-
 include/linux/kvm_host.h                       |    1 -
 virt/kvm/kvm_main.c                            |    4 -
 50 files changed, 6014 insertions(+), 224 deletions(-)
 create mode 100644 arch/powerpc/include/asm/xive-regs.h
 create mode 100644 arch/powerpc/include/asm/xive.h
 create mode 100644 arch/powerpc/kvm/book3s_hv_rm_xive.c
 create mode 100644 arch/powerpc/kvm/book3s_xive.c
 create mode 100644 arch/powerpc/kvm/book3s_xive.h
 create mode 100644 arch/powerpc/kvm/book3s_xive_template.c
 create mode 100644 arch/powerpc/sysdev/xive/Kconfig
 create mode 100644 arch/powerpc/sysdev/xive/Makefile
 create mode 100644 arch/powerpc/sysdev/xive/common.c
 create mode 100644 arch/powerpc/sysdev/xive/native.c
 create mode 100644 arch/powerpc/sysdev/xive/xive-internal.h



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux