• James Hogan's avatar
    KVM: MIPS: Implement HYPCALL emulation · 955d8dc3
    James Hogan authored
    Emulate the HYPCALL instruction added in the VZ ASE and used by the MIPS
    paravirtualised guest support that is already merged. The new hypcall.c
    handles arguments and the return value. No actual hypercalls are yet
    supported, but this still allows us to safely step over hypercalls and
    set an error code in the return value for forward compatibility.
    
    Non-zero HYPCALL codes are not handled.
    
    We also document the hypercall ABI which asm/kvm_para.h uses.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: "Radim Krčmář" <rkrcmar@redhat.com>
    Cc: Andreas Herrmann <andreas.herrmann@caviumnetworks.com>
    Cc: David Daney <david.daney@cavium.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Cc: linux-doc@vger.kernel.org
    955d8dc3
hypcall.c 1.32 KB