linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/59] KVM/ARM Changes for v4.7 take 2
@ 2016-05-24  9:08 Christoffer Dall
  2016-05-24  9:08 ` [PULL 01/59] kvm: arm64: Fix EC field in inject_abt64 Christoffer Dall
                   ` (58 more replies)
  0 siblings, 59 replies; 60+ messages in thread
From: Christoffer Dall @ 2016-05-24  9:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Paolo and Radim,

Here's another set of changes for v4.7.

This set of changes include the new vgic, which is a reimplementation of
our horribly broken legacy vgic implementation.  The two implementations
will live side-by-side (with the new being the configured default) for
one kernel release and then we'll remove the legacy one.

Also fixes a non-critical issue with virtual abort injection to guests.

The following changes since commit 06485053244480f5f403d8f89b8617bd7d549113:

  kvm: arm64: Enable hardware updates of the Access Flag for Stage 2 page tables (2016-05-09 22:23:08 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvm-arm-for-4-7-take2

for you to fetch changes up to 35a2d58588f0992627e74b447ccab21570544c86:

  KVM: arm/arm64: vgic-new: Synchronize changes to active state (2016-05-20 16:26:38 +0200)


Thanks,
-Christoffer


Andre Przywara (29):
      KVM: arm/arm64: vgic: streamline vgic_update_irq_pending() interface
      KVM: arm/arm64: vgic: avoid map in kvm_vgic_inject_mapped_irq()
      KVM: arm/arm64: vgic: avoid map in kvm_vgic_map_is_active()
      KVM: arm/arm64: vgic: avoid map in kvm_vgic_unmap_phys_irq()
      KVM: arm/arm64: arch_timer: Remove irq_phys_map
      KVM: arm/arm64: vgic: Remove irq_phys_map from interface
      KVM: arm/arm64: pmu: abstract access to number of SPIs
      KVM: arm/arm64: move GICv2 emulation defines into arm-gic-v3.h
      KVM: arm/arm64: vgic-new: Add GICv2 MMIO handling framework
      KVM: arm/arm64: vgic-new: Add ENABLE registers handlers
      KVM: arm/arm64: vgic-new: Add PENDING registers handlers
      KVM: arm/arm64: vgic-new: Add ACTIVE registers handlers
      KVM: arm/arm64: vgic-new: Add PRIORITY registers handlers
      KVM: arm/arm64: vgic-new: Add CONFIG registers handlers
      KVM: arm/arm64: vgic-new: Add TARGET registers handlers
      KVM: arm/arm64: vgic-new: Add SGIR register handler
      KVM: arm/arm64: vgic-new: Add SGIPENDR register handlers
      KVM: arm/arm64: vgic-new: Add GICv3 MMIO handling framework
      KVM: arm/arm64: vgic-new: Add GICv3 CTLR, IIDR, TYPER handlers
      KVM: arm/arm64: vgic-new: Add GICv3 redistributor IIDR and TYPER handler
      KVM: arm/arm64: vgic-new: Add GICv3 IDREGS register handler
      KVM: arm/arm64: vgic-new: Add GICv3 IROUTER register handlers
      KVM: arm/arm64: vgic-new: Add GICv3 SGI system register trap handler
      KVM: arm/arm64: vgic-new: Add userland access to VGIC dist registers
      KVM: arm/arm64: vgic-new: Add GICH_VMCR accessors
      KVM: arm/arm64: vgic-new: Add userland GIC CPU interface access
      KVM: arm/arm64: vgic-new: Wire up irqfd injection
      KVM: arm/arm64: vgic-new: implement mapped IRQ handling
      KVM: arm/arm64: vgic-new: enable build

Christoffer Dall (12):
      KVM: arm/arm64: Remove the IRQ field from struct irq_phys_map
      KVM: arm/arm64: Move timer IRQ map to latest possible time
      KVM: arm/arm64: Get rid of vgic_cpu->nr_lr
      KVM: arm/arm64: Fix MMIO emulation data handling
      KVM: arm/arm64: Export mmio_read/write_bus
      KVM: arm/arm64: Provide functionality to pause and resume a guest
      KVM: arm/arm64: vgic-new: Add data structure definitions
      KVM: arm/arm64: vgic-new: Add acccessor to new struct vgic_irq instance
      KVM: arm/arm64: vgic-new: Implement virtual IRQ injection
      KVM: arm/arm64: vgic-new: Add IRQ sorting
      KVM: arm/arm64: vgic-new: Export register access interface
      KVM: arm/arm64: vgic-new: Synchronize changes to active state

Eric Auger (12):
      KVM: arm/arm64: vgic-new: Implement kvm_vgic_vcpu_pending_irq
      KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM device ops registration
      KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_NR_IRQS
      KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_CTRL
      KVM: arm/arm64: vgic-new: vgic_kvm_device: implement kvm_vgic_addr
      KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_ADDR
      KVM: arm/arm64: vgic-new: vgic_kvm_device: access to VGIC registers
      KVM: arm/arm64: vgic-new: vgic_init: implement kvm_vgic_hyp_init
      KVM: arm/arm64: vgic-new: vgic_init: implement vgic_create
      KVM: arm/arm64: vgic-new: vgic_init: implement vgic_init
      KVM: arm/arm64: vgic-new: vgic_init: implement map_resources
      KVM: arm/arm64: vgic-new: Add vgic_v2/v3_enable

Marc Zyngier (5):
      KVM: arm/arm64: vgic-new: Add IRQ sync/flush framework
      KVM: arm/arm64: vgic-new: Add GICv2 world switch backend
      KVM: arm/arm64: vgic-new: Add GICv3 world switch backend
      KVM: arm/arm64: vgic-new: Add MMIO handling framework
      KVM: arm/arm64: vgic-new: Add CTLR, TYPER and IIDR handlers

Matt Evans (1):
      kvm: arm64: Fix EC field in inject_abt64

 arch/arm/include/asm/kvm_host.h     |   6 +
 arch/arm/include/asm/kvm_mmio.h     |   3 +
 arch/arm/kvm/Kconfig                |   7 +
 arch/arm/kvm/Makefile               |  11 +
 arch/arm/kvm/arm.c                  |  37 ++-
 arch/arm/kvm/mmio.c                 |  24 +-
 arch/arm64/include/asm/kvm_host.h   |   6 +
 arch/arm64/include/asm/kvm_mmio.h   |   3 +
 arch/arm64/kvm/Kconfig              |   7 +
 arch/arm64/kvm/Makefile             |  12 +
 arch/arm64/kvm/inject_fault.c       |   2 +-
 include/kvm/arm_arch_timer.h        |  11 +-
 include/kvm/arm_vgic.h              |  20 +-
 include/kvm/vgic/vgic.h             | 246 ++++++++++++++
 include/linux/irqchip/arm-gic-v3.h  |   6 +
 include/linux/irqchip/arm-gic.h     |   2 +
 virt/kvm/arm/arch_timer.c           |  68 ++--
 virt/kvm/arm/hyp/timer-sr.c         |   5 +-
 virt/kvm/arm/hyp/vgic-v2-sr.c       |  17 +-
 virt/kvm/arm/pmu.c                  |  25 +-
 virt/kvm/arm/vgic-v2.c              |   4 +-
 virt/kvm/arm/vgic-v3.c              |   8 +-
 virt/kvm/arm/vgic.c                 |  86 ++---
 virt/kvm/arm/vgic/vgic-init.c       | 452 ++++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-irqfd.c      |  52 +++
 virt/kvm/arm/vgic/vgic-kvm-device.c | 431 +++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-mmio-v2.c    | 446 ++++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-mmio-v3.c    | 455 ++++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-mmio.c       | 526 ++++++++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-mmio.h       | 150 +++++++++
 virt/kvm/arm/vgic/vgic-v2.c         | 352 ++++++++++++++++++++
 virt/kvm/arm/vgic/vgic-v3.c         | 330 +++++++++++++++++++
 virt/kvm/arm/vgic/vgic.c            | 619 ++++++++++++++++++++++++++++++++++++
 virt/kvm/arm/vgic/vgic.h            | 131 ++++++++
 34 files changed, 4404 insertions(+), 156 deletions(-)
 create mode 100644 include/kvm/vgic/vgic.h
 create mode 100644 virt/kvm/arm/vgic/vgic-init.c
 create mode 100644 virt/kvm/arm/vgic/vgic-irqfd.c
 create mode 100644 virt/kvm/arm/vgic/vgic-kvm-device.c
 create mode 100644 virt/kvm/arm/vgic/vgic-mmio-v2.c
 create mode 100644 virt/kvm/arm/vgic/vgic-mmio-v3.c
 create mode 100644 virt/kvm/arm/vgic/vgic-mmio.c
 create mode 100644 virt/kvm/arm/vgic/vgic-mmio.h
 create mode 100644 virt/kvm/arm/vgic/vgic-v2.c
 create mode 100644 virt/kvm/arm/vgic/vgic-v3.c
 create mode 100644 virt/kvm/arm/vgic/vgic.c
 create mode 100644 virt/kvm/arm/vgic/vgic.h

^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2016-05-24  9:09 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-24  9:08 [PULL 00/59] KVM/ARM Changes for v4.7 take 2 Christoffer Dall
2016-05-24  9:08 ` [PULL 01/59] kvm: arm64: Fix EC field in inject_abt64 Christoffer Dall
2016-05-24  9:08 ` [PULL 02/59] KVM: arm/arm64: vgic: streamline vgic_update_irq_pending() interface Christoffer Dall
2016-05-24  9:08 ` [PULL 03/59] KVM: arm/arm64: vgic: avoid map in kvm_vgic_inject_mapped_irq() Christoffer Dall
2016-05-24  9:08 ` [PULL 04/59] KVM: arm/arm64: vgic: avoid map in kvm_vgic_map_is_active() Christoffer Dall
2016-05-24  9:08 ` [PULL 05/59] KVM: arm/arm64: vgic: avoid map in kvm_vgic_unmap_phys_irq() Christoffer Dall
2016-05-24  9:09 ` [PULL 06/59] KVM: arm/arm64: Remove the IRQ field from struct irq_phys_map Christoffer Dall
2016-05-24  9:09 ` [PULL 07/59] KVM: arm/arm64: arch_timer: Remove irq_phys_map Christoffer Dall
2016-05-24  9:09 ` [PULL 08/59] KVM: arm/arm64: vgic: Remove irq_phys_map from interface Christoffer Dall
2016-05-24  9:09 ` [PULL 09/59] KVM: arm/arm64: Move timer IRQ map to latest possible time Christoffer Dall
2016-05-24  9:09 ` [PULL 10/59] KVM: arm/arm64: Get rid of vgic_cpu->nr_lr Christoffer Dall
2016-05-24  9:09 ` [PULL 11/59] KVM: arm/arm64: Fix MMIO emulation data handling Christoffer Dall
2016-05-24  9:09 ` [PULL 12/59] KVM: arm/arm64: Export mmio_read/write_bus Christoffer Dall
2016-05-24  9:09 ` [PULL 13/59] KVM: arm/arm64: pmu: abstract access to number of SPIs Christoffer Dall
2016-05-24  9:09 ` [PULL 14/59] KVM: arm/arm64: Provide functionality to pause and resume a guest Christoffer Dall
2016-05-24  9:09 ` [PULL 15/59] KVM: arm/arm64: move GICv2 emulation defines into arm-gic-v3.h Christoffer Dall
2016-05-24  9:09 ` [PULL 16/59] KVM: arm/arm64: vgic-new: Add data structure definitions Christoffer Dall
2016-05-24  9:09 ` [PULL 17/59] KVM: arm/arm64: vgic-new: Add acccessor to new struct vgic_irq instance Christoffer Dall
2016-05-24  9:09 ` [PULL 18/59] KVM: arm/arm64: vgic-new: Implement virtual IRQ injection Christoffer Dall
2016-05-24  9:09 ` [PULL 19/59] KVM: arm/arm64: vgic-new: Add IRQ sorting Christoffer Dall
2016-05-24  9:09 ` [PULL 20/59] KVM: arm/arm64: vgic-new: Add IRQ sync/flush framework Christoffer Dall
2016-05-24  9:09 ` [PULL 21/59] KVM: arm/arm64: vgic-new: Add GICv2 world switch backend Christoffer Dall
2016-05-24  9:09 ` [PULL 22/59] KVM: arm/arm64: vgic-new: Add GICv3 " Christoffer Dall
2016-05-24  9:09 ` [PULL 23/59] KVM: arm/arm64: vgic-new: Implement kvm_vgic_vcpu_pending_irq Christoffer Dall
2016-05-24  9:09 ` [PULL 24/59] KVM: arm/arm64: vgic-new: Add MMIO handling framework Christoffer Dall
2016-05-24  9:09 ` [PULL 25/59] KVM: arm/arm64: vgic-new: Add GICv2 " Christoffer Dall
2016-05-24  9:09 ` [PULL 26/59] KVM: arm/arm64: vgic-new: Add CTLR, TYPER and IIDR handlers Christoffer Dall
2016-05-24  9:09 ` [PULL 27/59] KVM: arm/arm64: vgic-new: Add ENABLE registers handlers Christoffer Dall
2016-05-24  9:09 ` [PULL 28/59] KVM: arm/arm64: vgic-new: Add PENDING " Christoffer Dall
2016-05-24  9:09 ` [PULL 29/59] KVM: arm/arm64: vgic-new: Add ACTIVE " Christoffer Dall
2016-05-24  9:09 ` [PULL 30/59] KVM: arm/arm64: vgic-new: Add PRIORITY " Christoffer Dall
2016-05-24  9:09 ` [PULL 31/59] KVM: arm/arm64: vgic-new: Add CONFIG " Christoffer Dall
2016-05-24  9:09 ` [PULL 32/59] KVM: arm/arm64: vgic-new: Add TARGET " Christoffer Dall
2016-05-24  9:09 ` [PULL 33/59] KVM: arm/arm64: vgic-new: Add SGIR register handler Christoffer Dall
2016-05-24  9:09 ` [PULL 34/59] KVM: arm/arm64: vgic-new: Add SGIPENDR register handlers Christoffer Dall
2016-05-24  9:09 ` [PULL 35/59] KVM: arm/arm64: vgic-new: Add GICv3 MMIO handling framework Christoffer Dall
2016-05-24  9:09 ` [PULL 36/59] KVM: arm/arm64: vgic-new: Add GICv3 CTLR, IIDR, TYPER handlers Christoffer Dall
2016-05-24  9:09 ` [PULL 37/59] KVM: arm/arm64: vgic-new: Add GICv3 redistributor IIDR and TYPER handler Christoffer Dall
2016-05-24  9:09 ` [PULL 38/59] KVM: arm/arm64: vgic-new: Add GICv3 IDREGS register handler Christoffer Dall
2016-05-24  9:09 ` [PULL 39/59] KVM: arm/arm64: vgic-new: Add GICv3 IROUTER register handlers Christoffer Dall
2016-05-24  9:09 ` [PULL 40/59] KVM: arm/arm64: vgic-new: Add GICv3 SGI system register trap handler Christoffer Dall
2016-05-24  9:09 ` [PULL 41/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM device ops registration Christoffer Dall
2016-05-24  9:09 ` [PULL 42/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_NR_IRQS Christoffer Dall
2016-05-24  9:09 ` [PULL 43/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_CTRL Christoffer Dall
2016-05-24  9:09 ` [PULL 44/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: implement kvm_vgic_addr Christoffer Dall
2016-05-24  9:09 ` [PULL 45/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: KVM_DEV_ARM_VGIC_GRP_ADDR Christoffer Dall
2016-05-24  9:09 ` [PULL 46/59] KVM: arm/arm64: vgic-new: vgic_kvm_device: access to VGIC registers Christoffer Dall
2016-05-24  9:09 ` [PULL 47/59] KVM: arm/arm64: vgic-new: Export register access interface Christoffer Dall
2016-05-24  9:09 ` [PULL 48/59] KVM: arm/arm64: vgic-new: Add userland access to VGIC dist registers Christoffer Dall
2016-05-24  9:09 ` [PULL 49/59] KVM: arm/arm64: vgic-new: Add GICH_VMCR accessors Christoffer Dall
2016-05-24  9:09 ` [PULL 50/59] KVM: arm/arm64: vgic-new: Add userland GIC CPU interface access Christoffer Dall
2016-05-24  9:09 ` [PULL 51/59] KVM: arm/arm64: vgic-new: vgic_init: implement kvm_vgic_hyp_init Christoffer Dall
2016-05-24  9:09 ` [PULL 52/59] KVM: arm/arm64: vgic-new: vgic_init: implement vgic_create Christoffer Dall
2016-05-24  9:09 ` [PULL 53/59] KVM: arm/arm64: vgic-new: vgic_init: implement vgic_init Christoffer Dall
2016-05-24  9:09 ` [PULL 54/59] KVM: arm/arm64: vgic-new: vgic_init: implement map_resources Christoffer Dall
2016-05-24  9:09 ` [PULL 55/59] KVM: arm/arm64: vgic-new: Add vgic_v2/v3_enable Christoffer Dall
2016-05-24  9:09 ` [PULL 56/59] KVM: arm/arm64: vgic-new: Wire up irqfd injection Christoffer Dall
2016-05-24  9:09 ` [PULL 57/59] KVM: arm/arm64: vgic-new: implement mapped IRQ handling Christoffer Dall
2016-05-24  9:09 ` [PULL 58/59] KVM: arm/arm64: vgic-new: enable build Christoffer Dall
2016-05-24  9:09 ` [PULL 59/59] KVM: arm/arm64: vgic-new: Synchronize changes to active state Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).