[Android-virt] [PATCH 00/15] KVM/ARM VGIC support

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

 



This patch series adds support for the GIC virtualisation extensions
(VGIC), and implements an in-kernel irqchip.

This isn't a complete emulation of the GIC (some of the features are
simply ignored as they are not required to run a Linux guest), and
at least the following bits will eventually have to be fixed:

- No state save/restore
- Harcoded GIC CPU/distributor interface mapping address
- MMIO decoding isn't generic
- Handling of unaligned MMIO access

It is also available as a branch there:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm-vgic-3.4-rc7

Marc Zyngier (15):
  KVM: use KVM_CAP_IRQ_ROUTING to protect the routing related code
  ARM: KVM: Initial VGIC infrastructure support
  ARM: KVM: Initial VGIC MMIO support code
  ARM: KVM: VGIC distributor handling
  ARM: KVM: VGIC virtual CPU interface management
  ARM: KVM: VGIC interrupt injection
  ARM: KVM: VGIC initialisation code
  ARM: KVM: VGIC control interface world switch
  ARM: KVM: Add VGIC configuration option
  ARM: KVM: VGIC: Update KVM API documentation
  ARM: DT: Add binding for GIC virtualization extentions (VGIC)
  ARM: KVM: Convert VGIC to use device tree
  ARM: KVM: Make VGIC distributor MMIO table relative
  ARM: KVM: Allow up to two virtual CPUs
  ARM: KVM: Add exit statistics to debugfs

 Documentation/devicetree/bindings/arm/gic.txt |   35 +-
 Documentation/virtual/kvm/api.txt             |   24 +-
 arch/arm/include/asm/kvm_arm.h                |   10 +
 arch/arm/include/asm/kvm_host.h               |   13 +-
 arch/arm/include/asm/kvm_vgic.h               |  184 ++++++
 arch/arm/kernel/asm-offsets.c                 |   10 +
 arch/arm/kvm/Kconfig                          |    7 +
 arch/arm/kvm/Makefile                         |    1 +
 arch/arm/kvm/arm.c                            |   58 ++-
 arch/arm/kvm/emulate.c                        |    3 +-
 arch/arm/kvm/guest.c                          |   13 +
 arch/arm/kvm/interrupts.S                     |   80 +++
 arch/arm/kvm/mmu.c                            |   11 +-
 arch/arm/kvm/vgic.c                           |  879 +++++++++++++++++++++++++
 include/linux/kvm_host.h                      |    2 +-
 virt/kvm/kvm_main.c                           |    7 +-
 16 files changed, 1319 insertions(+), 18 deletions(-)
 create mode 100644 arch/arm/include/asm/kvm_vgic.h
 create mode 100644 arch/arm/kvm/vgic.c

-- 
1.7.7.1





[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux