Re: [PATCH 4.19 65/84] arm64: KVM: Trap VM ops when ARM64_WORKAROUND_CAVIUM_TX2_219_TVM is set

From: Naresh Kamboju
Date: Sat Jan 11 2020 - 07:31:00 EST


On Sat, 11 Jan 2020 at 15:49, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> From: Marc Zyngier <marc.zyngier@xxxxxxx>
>
> commit d3ec3a08fa700c8b46abb137dce4e2514a6f9668 upstream.
>
> In order to workaround the TX2-219 erratum, it is necessary to trap
> TTBRx_EL1 accesses to EL2. This is done by setting HCR_EL2.TVM on
> guest entry, which has the side effect of trapping all the other
> VM-related sysregs as well.
>
> To minimize the overhead, a fast path is used so that we don't
> have to go all the way back to the main sysreg handling code,
> unless the rest of the hypervisor expects to see these accesses.
>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

On stable-rc 4.19 all arm64 builds failed due to this error,

arch/arm64/kvm/hyp/switch.c: In function 'handle_tx2_tvm':
arch/arm64/kvm/hyp/switch.c:438:2: error: implicit declaration of
function '__kvm_skip_instr'; did you mean 'kvm_skip_instr'?
[-Werror=implicit-function-declaration]
__kvm_skip_instr(vcpu);
^~~~~~~~~~~~~~~~
kvm_skip_instr
cc1: some warnings being treated as errors
scripts/Makefile.build:303: recipe for target
'arch/arm64/kvm/hyp/switch.o' failed

Full build log,
https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-4.19/DISTRO=lkft,MACHINE=hikey,label=docker-lkft/413/consoleText

--
Linaro LKFT
https://lkft.linaro.org