linux_dsm_epyc7002/virt/kvm/arm/vgic
Andre Przywara 424c33830f KVM: arm64: vgic-its: Implement basic ITS register handlers
Add emulation for some basic MMIO registers used in the ITS emulation.
This includes:
- GITS_{CTLR,TYPER,IIDR}
- ID registers
- GITS_{CBASER,CREADR,CWRITER}
  (which implement the ITS command buffer handling)
- GITS_BASER<n>

Most of the handlers are pretty straight forward, only the CWRITER
handler is a bit more involved by taking the new its_cmd mutex and
then iterating over the command buffer.
The registers holding base addresses and attributes are sanitised before
storing them.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-07-18 18:14:36 +01:00
..
vgic-init.c KVM: arm/arm64: vgic: Add refcounting for IRQs 2016-07-18 18:10:48 +01:00
vgic-irqfd.c KVM: arm/arm64: vgic-new: Wire up irqfd injection 2016-05-20 15:40:08 +02:00
vgic-its.c KVM: arm64: vgic-its: Implement basic ITS register handlers 2016-07-18 18:14:36 +01:00
vgic-kvm-device.c KVM: arm64: vgic-its: Introduce new KVM ITS device 2016-07-18 18:14:35 +01:00
vgic-mmio-v2.c KVM: arm/arm64: vgic: Add refcounting for IRQs 2016-07-18 18:10:48 +01:00
vgic-mmio-v3.c KVM: arm64: vgic-its: Implement basic ITS register handlers 2016-07-18 18:14:36 +01:00
vgic-mmio.c KVM: arm64: vgic-its: Introduce ITS emulation file with MMIO framework 2016-07-18 18:14:35 +01:00
vgic-mmio.h KVM: arm64: vgic-its: Implement basic ITS register handlers 2016-07-18 18:14:36 +01:00
vgic-v2.c KVM: arm/arm64: vgic: Add refcounting for IRQs 2016-07-18 18:10:48 +01:00
vgic-v3.c KVM: arm64: vgic: Handle ITS related GICv3 redistributor registers 2016-07-18 18:14:35 +01:00
vgic.c KVM: arm64: vgic-its: Implement basic ITS register handlers 2016-07-18 18:14:36 +01:00
vgic.h KVM: arm64: vgic-its: Introduce new KVM ITS device 2016-07-18 18:14:35 +01:00