arm64: KVM: add SGI generation register emulation
authorAndre Przywara <andre.przywara@arm.com>
Tue, 3 Jun 2014 08:13:13 +0000 (10:13 +0200)
committerChristoffer Dall <christoffer.dall@linaro.org>
Tue, 20 Jan 2015 17:25:32 +0000 (18:25 +0100)
commit6d52f35af10cf24d59b43f3fd8c938ad23cab543
treec20bda289d5090b4a4411a53b0a9a346ffa3df1b
parent7e5802781c3e109558ddfd8b02155ad24d872ee7
arm64: KVM: add SGI generation register emulation

While the generation of a (virtual) inter-processor interrupt (SGI)
on a GICv2 works by writing to a MMIO register, GICv3 uses the system
register ICC_SGI1R_EL1 to trigger them.
Add a trap handler function that calls the new SGI register handler
in the GICv3 code. As ICC_SRE_EL1.SRE at this point is still always 0,
this will not trap yet, but will only be used later when all the data
structures have been initialized properly.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/kvm/sys_regs.c
include/kvm/arm_vgic.h
virt/kvm/arm/vgic-v3-emul.c