linux/arch/arm64/kvm
Marc Zyngier 44a497abd6 KVM: arm/arm64: Do not use kern_hyp_va() with kvm_vgic_global_state
kvm_vgic_global_state is part of the read-only section, and is
usually accessed using a PC-relative address generation (adrp + add).

It is thus useless to use kern_hyp_va() on it, and actively problematic
if kern_hyp_va() becomes non-idempotent. On the other hand, there is
no way that the compiler is going to guarantee that such access is
always PC relative.

So let's bite the bullet and provide our own accessor.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-03-19 13:03:33 +00:00
..
hyp KVM: arm/arm64: Do not use kern_hyp_va() with kvm_vgic_global_state 2018-03-19 13:03:33 +00:00
debug.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
guest.c KVM: arm/arm64: Avoid vcpu_load for other vcpu ioctls than KVM_RUN 2018-03-19 10:53:09 +00:00
handle_exit.c arm/arm64: KVM: Advertise SMCCC v1.1 2018-02-06 22:54:01 +00:00
hyp-init.S arm64: assembler: Change order of macro arguments in phys_to_ttbr 2018-02-06 22:53:21 +00:00
hyp.S arm64: hyp-stub/KVM: Kill __hyp_get_vectors 2017-04-09 07:49:34 -07:00
inject_fault.c KVM: arm64: Prepare to handle deferred save/restore of ELR_EL1 2018-03-19 10:53:17 +00:00
irq.h KVM: arm/arm64: Enable irqchip routing 2016-07-22 18:52:01 +01:00
Kconfig GICv4 Support for KVM/ARM for v4.15 2017-11-17 13:20:01 +01:00
Makefile arm64: KVM: Dynamically patch the kernel/hyp VA mask 2018-03-19 13:03:29 +00:00
regmap.c KVM: arm64: Prepare to handle deferred save/restore of 32-bit registers 2018-03-19 10:53:18 +00:00
reset.c KVM: arm/arm64: Move timer IRQ default init to arch_timer.c 2017-06-08 16:59:56 +02:00
sys_regs.c KVM: arm64: Defer saving/restoring 32-bit sysregs to vcpu load/put 2018-03-19 10:53:18 +00:00
sys_regs.h KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
sys_regs_generic_v8.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
va_layout.c arm64: KVM: Dynamically patch the kernel/hyp VA mask 2018-03-19 13:03:29 +00:00
vgic-sys-reg-v3.c KVM: arm/arm64: Extract GICv3 max APRn index calculation 2017-09-05 17:33:39 +02:00