]> git.baikalelectronics.ru Git - kernel.git/commit
arm/arm64: KVM: add virtual GICv3 distributor emulation
authorAndre Przywara <andre.przywara@arm.com>
Fri, 6 Jun 2014 22:54:51 +0000 (00:54 +0200)
committerChristoffer Dall <christoffer.dall@linaro.org>
Tue, 20 Jan 2015 17:25:31 +0000 (18:25 +0100)
commit1554176430f7a0bd0274173298b80284aa3b7fa2
tree123679ec2053ab33bc40f9c67b9489c9508ca313
parent39b999b3aa15683b574ce08efff23dc25da61d5b
arm/arm64: KVM: add virtual GICv3 distributor emulation

With everything separated and prepared, we implement a model of a
GICv3 distributor and redistributors by using the existing framework
to provide handler functions for each register group.

Currently we limit the emulation to a model enforcing a single
security state, with SRE==1 (forcing system register access) and
ARE==1 (allowing more than 8 VCPUs).

We share some of the functions provided for GICv2 emulation, but take
the different ways of addressing (v)CPUs into account.
Save and restore is currently not implemented.

Similar to the split-off of the GICv2 specific code, the new emulation
code goes into a new file (vgic-v3-emul.c).

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/kvm/Makefile
include/kvm/arm_vgic.h
include/linux/irqchip/arm-gic-v3.h
include/linux/kvm_host.h
include/uapi/linux/kvm.h
virt/kvm/arm/vgic-v3-emul.c [new file with mode: 0644]
virt/kvm/arm/vgic.c
virt/kvm/arm/vgic.h