KVM: arm/arm64: Fix MMIO emulation data handling
authorChristoffer Dall <christoffer.dall@linaro.org>
Tue, 29 Mar 2016 12:29:28 +0000 (14:29 +0200)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 20 May 2016 13:39:42 +0000 (15:39 +0200)
commit83091db981e105d97562d3ed3ffe676e21927e3a
tree3c3b98bd138cc65fbe134f6e9b04ab27d0c4eca8
parent2db4c104fa2a9af12c07433642e2e4fee37fe2fd
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>
arch/arm/kvm/mmio.c
virt/kvm/arm/vgic.c
This page took 0.025674 seconds and 5 git commands to generate.