On 28/12/2021 04:28, Fabiano Rosas wrote:
Nicholas Piggin <npiggin@xxxxxxxxx> writes:
Excerpts from Fabiano Rosas's message of December 24, 2021 7:15 am:
The MMIO emulation code for vector instructions is duplicated between
VSX and VMX. When emulating VMX we should check the VMX copy size
instead of the VSX one.
Fixes: acc9eb9305fe ("KVM: PPC: Reimplement LOAD_VMX/STORE_VMX instruction ...")
Signed-off-by: Fabiano Rosas <farosas@xxxxxxxxxxxxx>
Good catch. AFAIKS handle_vmx_store needs the same treatment? If you
agree then
Half the bug now, half the bug next year... haha I'll send a v2.
aside:
All this duplication is kind of annoying. I'm looking into what it would
take to have quadword instruction emulation here as well (Alexey caught
a bug with syskaller) and the code would be really similar. I see that
x86 has a more generic implementation that maybe we could take advantage
of. See "f78146b0f923 (KVM: Fix page-crossing MMIO)"
Uff. My head exploded with vsx/vmx/vec :)
But this seems to have fixed "lvx" (which is vmx, right?).
Tested with: https://github.com/aik/linux/commits/my_kvm_tests
--
Alexey