From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PULL 00/59] KVM/ARM Changes for v4.7 take 2
Date: Tue, 24 May 2016 11:08:54 +0200 [thread overview]
Message-ID: <1464080993-10884-1-git-send-email-christoffer.dall@linaro.org> (raw)
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
next reply other threads:[~2016-05-24 9:08 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-24 9:08 Christoffer Dall [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1464080993-10884-1-git-send-email-christoffer.dall@linaro.org \
--to=christoffer.dall@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).