kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] kvmtool: Support new VGIC kernel features
@ 2015-01-23 16:34 Andre Przywara
  2015-01-23 16:35 ` [PATCH 01/11] kvmtool: add new VGIC_GRP definition (pulled from 3.19-rc1) Andre Przywara
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Andre Przywara @ 2015-01-23 16:34 UTC (permalink / raw)
  To: penberg, will.deacon; +Cc: kvm, kvmarm, marc.zyngier

Hi,

this series updates kvmtool to support some new KVM kernel features
related to the virtual GIC.
The first half of the series is mostly from Marc and has been
lingering around for some while, the second part is a slightly revised
and updated version of the virtual GICv3 support series.

We now use the KVM_CREATE_DEVICE interface to create a virtual GIC
and only fall back to the now legacy KVM_CREATE_IRQCHIP call if the
former is not supported by the kernel.
Also we use two new features the KVM_CREATE_DEVICE interface
introduces:
* We now set the number of actually used interrupts to avoid
  allocating too many of them without ever using them.
* We tell the kernel explicitly that we are finished with the GIC
  initialisation. This is a requirement for future VGIC versions.

The final five patches introduce virtual GICv3 support, so on
supported hardware (and given kernel support) the user can ask KVM to
emulate a GICv3, lifting the 8 VCPU limit of KVM. This is done by
specifying "--gicv3" on the command line.
As the kernel currently only supports this on ARM64, this parameter
is valid for the arm64 kvmtool build. But as the GIC is shared in
kvmtool, I had to add 9/11 to not break the build on ARM.

This series goes on top of the latest kvmtool version from Pekka's
github repo, which has seen a merge of the Linux 3.18 kernel base
just recently (master branch):
https://github.com/penberg/linux-kvm.git

For your convenience this series is also available in the
kvmtool-gicv3 branch of:
git://linux-arm.org/linux-ap.git
http://linux-arm.org/linux-ap.git

Cheers,
Andre.

Andre Przywara (7):
  kvmtool: add new VGIC_GRP definition (pulled from 3.19-rc1)
  kvmtool: finish VGIC initialisation explicitly
  kvmtool: prepare for instantiating different IRQ chip devices
  kvmtool: public header definitions from GICv3 emulation patch series
  kvmtool: add required GICv3 defines also to ARM
  kvmtool: add support for supplying GICv3 redistributor addresses
  kvmtool: add command line parameter to instantiate a vGICv3

Marc Zyngier (4):
  kvmtool: AArch64: Reserve two 64k pages for GIC CPU interface
  kvmtool: AArch{32,64}: use KVM_CREATE_DEVICE & co to instanciate the
    GIC
  kvmtool: irq: add irq__get_nr_allocated_lines
  kvmtool: AArch{32,64}: dynamically configure the number of GIC
    interrupts

 arch/arm64/include/uapi/asm/kvm.h                  |    7 +
 include/uapi/linux/kvm.h                           |    2 +
 tools/kvm/arm/aarch32/arm-cpu.c                    |    2 +-
 tools/kvm/arm/aarch32/include/kvm/kvm-arch.h       |    8 +
 tools/kvm/arm/aarch64/arm-cpu.c                    |    5 +-
 tools/kvm/arm/aarch64/include/kvm/kvm-arch.h       |    2 +-
 .../kvm/arm/aarch64/include/kvm/kvm-config-arch.h  |    4 +-
 tools/kvm/arm/gic.c                                |  178 ++++++++++++++++++--
 tools/kvm/arm/include/arm-common/gic.h             |    9 +-
 tools/kvm/arm/include/arm-common/kvm-arch.h        |   18 +-
 tools/kvm/arm/include/arm-common/kvm-config-arch.h |    1 +
 tools/kvm/arm/kvm-cpu.c                            |    4 +-
 tools/kvm/arm/kvm.c                                |    7 +-
 tools/kvm/include/kvm/irq.h                        |    1 +
 tools/kvm/irq.c                                    |    5 +
 15 files changed, 228 insertions(+), 25 deletions(-)

-- 
1.7.9.5


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

end of thread, other threads:[~2015-01-26 12:06 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-23 16:34 [PATCH 00/11] kvmtool: Support new VGIC kernel features Andre Przywara
2015-01-23 16:35 ` [PATCH 01/11] kvmtool: add new VGIC_GRP definition (pulled from 3.19-rc1) Andre Przywara
2015-01-23 16:35 ` [PATCH 02/11] kvmtool: AArch64: Reserve two 64k pages for GIC CPU interface Andre Przywara
2015-01-23 16:35 ` [PATCH 03/11] kvmtool: AArch{32,64}: use KVM_CREATE_DEVICE & co to instanciate the GIC Andre Przywara
2015-01-26 11:26   ` Will Deacon
2015-01-26 12:06     ` Andre Przywara
2015-01-23 16:35 ` [PATCH 04/11] kvmtool: irq: add irq__get_nr_allocated_lines Andre Przywara
2015-01-23 16:35 ` [PATCH 05/11] kvmtool: AArch{32,64}: dynamically configure the number of GIC interrupts Andre Przywara
2015-01-23 16:35 ` [PATCH 06/11] kvmtool: finish VGIC initialisation explicitly Andre Przywara
2015-01-23 16:35 ` [PATCH 07/11] kvmtool: prepare for instantiating different IRQ chip devices Andre Przywara
2015-01-23 16:35 ` [PATCH 08/11] kvmtool: public header definitions from GICv3 emulation patch series Andre Przywara
2015-01-23 16:35 ` [PATCH 09/11] kvmtool: add required GICv3 defines also to ARM Andre Przywara
2015-01-23 16:35 ` [PATCH 10/11] kvmtool: add support for supplying GICv3 redistributor addresses Andre Przywara
2015-01-23 16:35 ` [PATCH 11/11] kvmtool: add command line parameter to instantiate a vGICv3 Andre Przywara
2015-01-26 11:30   ` Will Deacon
2015-01-26 11:43     ` Andre Przywara
2015-01-26 11:52       ` Marc Zyngier

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).