linux/arch/arm64/kvm
Marc Zyngier c585132840 arm64: KVM: vgic-v3: Relax synchronization when SRE==1
The GICv3 backend of the vgic is quite barrier heavy, in order
to ensure synchronization of the system registers and the
memory mapped view for a potential GICv2 guest.

But when the guest is using a GICv3 model, there is absolutely
no need to execute all these heavy barriers, and it is actually
beneficial to avoid them altogether.

This patch makes the synchonization conditional, and ensures
that we do not change the EL1 SRE settings if we do not need to.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2016-05-31 16:12:17 +02:00
..
hyp arm64: KVM: vgic-v3: Relax synchronization when SRE==1 2016-05-31 16:12:17 +02:00
debug.c
emulate.c
guest.c One of the largest releases for KVM... Hardly any generic improvement, 2016-03-16 09:55:35 -07:00
handle_exit.c arm64: hyp/kvm: Make hyp-stub reject kvm_call_hyp() 2016-04-28 12:05:46 +01:00
hyp-init.S arm64: kvm: Fix kvm teardown for systems using the extended idmap 2016-05-03 09:50:27 +01:00
hyp.S arm64: hyp/kvm: Make hyp-stub extensible 2016-04-28 12:05:46 +01:00
inject_fault.c kvm: arm64: Fix EC field in inject_abt64 2016-05-20 15:39:36 +02:00
Kconfig KVM: arm/arm64: vgic-new: enable build 2016-05-20 15:40:09 +02:00
Makefile KVM: arm/arm64: vgic-new: enable build 2016-05-20 15:40:09 +02:00
regmap.c
reset.c arm64: kvm: Fix kvm teardown for systems using the extended idmap 2016-05-03 09:50:27 +01:00
sys_regs_generic_v8.c arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
sys_regs.c arm64: KVM: Make ICC_SRE_EL1 access return the configured SRE value 2016-05-31 16:12:16 +02:00
sys_regs.h arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
trace.h