• James Hogan's avatar
    MIPS: KVM: Expose MSA registers · ab86bd60
    James Hogan authored
    Add KVM register numbers for the MIPS SIMD Architecture (MSA) registers,
    and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG
    ioctls when the MSA capability is enabled (exposed in a later patch) and
    present in the guest according to its Config3.MSAP bit.
    
    The MSA vector registers use the same register numbers as the FPU
    registers except with a different size (128bits). Since MSA depends on
    Status.FR=1, these registers are inaccessible when Status.FR=0. These
    registers are returned as a single native endian 128bit value, rather
    than least significant half first with each 64-bit half native endian as
    the kernel uses internally.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Gleb Natapov <gleb@kernel.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Cc: linux-api@vger.kernel.org
    Cc: linux-doc@vger.kernel.org
    ab86bd60
mips.c 39.5 KB