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

From: Greg Kroah-Hartman
Date: Sat Jan 11 2020 - 12:47:36 EST


On Sat, Jan 11, 2020 at 06:00:19PM +0530, Naresh Kamboju wrote:
> 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
>

Crap, this one patch has caused more problems...

I'll go drop it, thanks for verifying that I shouldn't have backported
it in the first place :)

greg k-h