linux/virt/kvm/arm
Christoffer Dall d9ae449b3d KVM: arm64: vgic-its: Make updates to propbaser/pendbaser atomic
There are two problems with the current implementation of the MMIO
handlers for the propbaser and pendbaser:

First, the write to the value itself is not guaranteed to be an atomic
64-bit write so two concurrent writes to the structure field could be
intermixed.

Second, because we do a read-modify-update operation without any
synchronization, if we have two 32-bit accesses to separate parts of the
register, we can loose one of them.

By using the atomic cmpxchg64 we should cover both issues above.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2016-08-15 23:00:20 +02:00
..
hyp KVM: arm/arm64: The GIC is dead, long live the GIC 2016-07-03 23:09:37 +02:00
vgic KVM: arm64: vgic-its: Make updates to propbaser/pendbaser atomic 2016-08-15 23:00:20 +02:00
arch_timer.c arm/kvm/arch_timer: Convert to hotplug state machine 2016-07-15 10:40:27 +02:00
pmu.c KVM: arm/arm64: pmu: abstract access to number of SPIs 2016-05-20 15:39:43 +02:00
trace.h arm/arm64: KVM: Add tracepoints for vgic and timer 2015-10-22 23:01:48 +02:00