mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-24 15:43:14 +07:00
![]() KVM uses swab32() when mediating GIC MMIO accesses if the GICV is badly aligned, and the host and guest differ in endianness. arm64 doesn't provide a __arch_swab32(), so __fswab32() is always backed by the macro implementation that the compiler reduces to a single instruction. But the static-inline causes problems for KVM if the compiler chooses not to inline this function, it may not be located in the __hyp_text where __vgic_v2_perform_cpuif_access() needs it. Create our own __kvm_swab32() macro that calls ___constant_swab32() directly. This way we know it will always be inlined. Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20200220165839.256881-3-james.morse@arm.com |
||
---|---|---|
.. | ||
hyp | ||
debug.c | ||
fpsimd.c | ||
guest.c | ||
handle_exit.c | ||
hyp-init.S | ||
hyp.S | ||
inject_fault.c | ||
irq.h | ||
Kconfig | ||
Makefile | ||
pmu.c | ||
regmap.c | ||
reset.c | ||
sys_regs_generic_v8.c | ||
sys_regs.c | ||
sys_regs.h | ||
trace.h | ||
va_layout.c | ||
vgic-sys-reg-v3.c |