[GIT PULL] KVM/ARM updates for 4.11

Marc Zyngier marc.zyngier at arm.com
Thu Feb 9 06:58:58 PST 2017


Paolo, Radim,

Here's the KVM/ARM updates for 4.11. On the menu this time, GICv3
save/restore, physical timer emulation, and a number of fixes.

Thanks,

	M.

The following changes since commit 7a308bb3016f57e5be11a677d15b821536419d36:

  Linux 4.10-rc5 (2017-01-22 12:54:15 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-for-4.11

for you to fetch changes up to 7b6b46311a8562fb3a9e035ed6ffab6d49c28886:

  KVM: arm/arm64: Emulate the EL1 phys timer registers (2017-02-08 15:13:37 +0000)

----------------------------------------------------------------
kvmarm updates for 4.11

- GICv3 save restore
- Cache flushing fixes
- MSI injection fix for GICv3 ITS
- Physical timer emulation support

----------------------------------------------------------------
Christoffer Dall (3):
      KVM: arm/arm64: Remove struct vgic_irq pending field
      KVM: arm/arm64: vgic: Add debugfs vgic-state file
      KVM: arm/arm64: Remove kvm_vgic_inject_mapped_irq

Jintack Lim (10):
      KVM: arm/arm64: Abstract virtual timer context into separate structure
      KVM: arm/arm64: Move cntvoff to each timer context
      KVM: arm/arm64: Decouple kvm timer functions from virtual timer
      KVM: arm/arm64: Add the EL1 physical timer context
      KVM: arm/arm64: Initialize the emulated EL1 physical timer
      KVM: arm/arm64: Update the physical timer interrupt level
      KVM: arm/arm64: Set a background timer to the earliest timer expiration
      KVM: arm/arm64: Set up a background timer for the physical timer emulation
      KVM: arm64: Add the EL1 physical timer access handler
      KVM: arm/arm64: Emulate the EL1 phys timer registers

Marc Zyngier (3):
      arm/arm64: KVM: Enforce unconditional flush to PoC when mapping to stage-2
      arm/arm64: KVM: Stop propagating cacheability status of a faulted page
      arm/arm64: KVM: Get rid of KVM_MEMSLOT_INCOHERENT

Shanker Donthineni (1):
      KVM: arm/arm64: vgic: Stop injecting the MSI occurrence twice

Vijaya Kumar K (8):
      KVM: arm/arm64: vgic: Implement support for userspace access
      KVM: arm/arm64: vgic: Add distributor and redistributor access
      KVM: arm/arm64: vgic: Introduce find_reg_by_id()
      irqchip/gic-v3: Add missing system register definitions
      KVM: arm/arm64: vgic: Introduce VENG0 and VENG1 fields to vmcr struct
      KVM: arm/arm64: vgic: Implement VGICv3 CPU interface access
      KVM: arm/arm64: vgic: Implement KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO ioctl
      KVM: arm/arm64: Documentation: Update arm-vgic-v3.txt

 Documentation/virtual/kvm/devices/arm-vgic-v3.txt |  11 +-
 arch/arm/include/asm/kvm_host.h                   |   3 -
 arch/arm/include/asm/kvm_mmu.h                    |  12 +-
 arch/arm/include/uapi/asm/kvm.h                   |  13 +
 arch/arm/kvm/Makefile                             |   5 +-
 arch/arm/kvm/arm.c                                |   4 +-
 arch/arm/kvm/mmu.c                                |  20 +-
 arch/arm/kvm/reset.c                              |   9 +-
 arch/arm/kvm/vgic-v3-coproc.c                     |  35 +++
 arch/arm64/include/asm/kvm_host.h                 |   3 -
 arch/arm64/include/asm/kvm_mmu.h                  |   6 +-
 arch/arm64/include/uapi/asm/kvm.h                 |  13 +
 arch/arm64/kvm/Makefile                           |   4 +-
 arch/arm64/kvm/reset.c                            |   9 +-
 arch/arm64/kvm/sys_regs.c                         |  92 +++++-
 arch/arm64/kvm/sys_regs.h                         |   4 +
 arch/arm64/kvm/vgic-sys-reg-v3.c                  | 346 ++++++++++++++++++++++
 include/kvm/arm_arch_timer.h                      |  39 +--
 include/kvm/arm_vgic.h                            |  18 +-
 include/linux/irqchip/arm-gic-v3.h                |  45 ++-
 include/linux/kvm_host.h                          |   1 -
 virt/kvm/arm/arch_timer.c                         | 201 +++++++++----
 virt/kvm/arm/hyp/timer-sr.c                       |  13 +-
 virt/kvm/arm/vgic/vgic-debug.c                    | 283 ++++++++++++++++++
 virt/kvm/arm/vgic/vgic-init.c                     |   4 +
 virt/kvm/arm/vgic/vgic-irqfd.c                    |   3 +
 virt/kvm/arm/vgic/vgic-its.c                      |   6 +-
 virt/kvm/arm/vgic/vgic-kvm-device.c               | 231 ++++++++++++++-
 virt/kvm/arm/vgic/vgic-mmio-v2.c                  |  87 ++----
 virt/kvm/arm/vgic/vgic-mmio-v3.c                  | 203 +++++++++++--
 virt/kvm/arm/vgic/vgic-mmio.c                     | 167 +++++++++--
 virt/kvm/arm/vgic/vgic-mmio.h                     |  24 ++
 virt/kvm/arm/vgic/vgic-v2.c                       |  12 +-
 virt/kvm/arm/vgic/vgic-v3.c                       |  40 ++-
 virt/kvm/arm/vgic/vgic.c                          |  66 ++---
 virt/kvm/arm/vgic/vgic.h                          |  83 +++++-
 36 files changed, 1785 insertions(+), 330 deletions(-)
 create mode 100644 arch/arm/kvm/vgic-v3-coproc.c
 create mode 100644 arch/arm64/kvm/vgic-sys-reg-v3.c
 create mode 100644 virt/kvm/arm/vgic/vgic-debug.c



More information about the linux-arm-kernel mailing list