summaryrefslogtreecommitdiff
path: root/curvetun_mgmt_users.c
diff options
context:
space:
mode:
Diffstat (limited to 'curvetun_mgmt_users.c')
0 files changed, 0 insertions, 0 deletions
157c911a617a3694&id2=90eee56c5f9081686035972dfcddfd6c85cafdf9'>diff)
KVM: arm/arm64: vgic-new: Add MMIO handling framework
Add an MMIO handling framework to the VGIC emulation: Each register is described by its offset, size (or number of bits per IRQ, if applicable) and the read/write handler functions. We provide initialization macros to describe each GIC register later easily. Separate dispatch functions for read and write accesses are connected to the kvm_io_bus framework and binary-search for the responsible register handler based on the offset address within the region. We convert the incoming data (referenced by a pointer) to the host's endianess and use pass-by-value to hand the data over to the actual handler functions. The register handler prototype and the endianess conversion are courtesy of Christoffer Dall. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat
-rw-r--r--include/kvm/vgic/vgic.h13
-rw-r--r--virt/kvm/arm/vgic/vgic-mmio.c184
-rw-r--r--virt/kvm/arm/vgic/vgic-mmio.h99
3 files changed, 296 insertions, 0 deletions
diff --git a/include/kvm/vgic/vgic.h b/include/kvm/vgic/vgic.h