linux_dsm_epyc7002/virt/kvm/arm
Christoffer Dall 83091db981 KVM: arm/arm64: Fix MMIO emulation data handling
When the kernel was handling a guest MMIO read access internally, we
need to copy the emulation result into the run->mmio structure in order
for the kvm_handle_mmio_return() function to pick it up and inject the
	result back into the guest.

Currently the only user of kvm_io_bus for ARM is the VGIC, which did
this copying itself, so this was not causing issues so far.

But with the upcoming new vgic implementation we need this done
properly.

Update the kvm_handle_mmio_return description and cleanup the code to
only perform a single copying when needed.

Code and commit message inspired by Andre Przywara.

Reported-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2016-05-20 15:39:42 +02:00
..
hyp KVM: arm/arm64: Get rid of vgic_cpu->nr_lr 2016-05-20 15:39:41 +02:00
arch_timer.c KVM: arm/arm64: Move timer IRQ map to latest possible time 2016-05-20 15:39:41 +02:00
pmu.c arm64: KVM: Add braces to multi-line if statement in virtual PMU code 2016-04-01 13:30:55 +02:00
trace.h arm/arm64: KVM: Add tracepoints for vgic and timer 2015-10-22 23:01:48 +02:00
vgic-v2-emul.c KVM: arm/arm64: vgic-v2: Make GICD_SGIR quicker to hit 2016-03-09 04:24:03 +00:00
vgic-v2.c KVM: arm/arm64: Get rid of vgic_cpu->nr_lr 2016-05-20 15:39:41 +02:00
vgic-v3-emul.c KVM: arm: vgic: Drop useless Group0 warning 2015-06-17 09:58:12 +01:00
vgic-v3.c KVM: arm/arm64: vgic: Rely on the GIC driver to parse the firmware tables 2016-05-03 12:54:21 +02:00
vgic.c KVM: arm/arm64: Fix MMIO emulation data handling 2016-05-20 15:39:42 +02:00
vgic.h KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00