• Daniel Henrique Barboza's avatar
    RISC-V: KVM: provide UAPI for host SATP mode · 2776421e
    Daniel Henrique Barboza authored
    KVM userspaces need to be aware of the host SATP to allow them to
    advertise it back to the guest OS.
    
    Since this information is used to build the guest FDT we can't wait for
    the SATP reg to be readable. We just need to read the SATP mode, thus
    we can use the existing 'satp_mode' global that represents the SATP reg
    with MODE set and both ASID and PPN cleared. E.g. for a 32 bit host
    running with sv32 satp_mode is 0x80000000, for a 64 bit host running
    sv57 satp_mode is 0xa000000000000000, and so on.
    
    Add a new userspace virtual config register 'satp_mode' to allow
    userspace to read the current SATP mode the host is using with
    GET_ONE_REG API before spinning the vcpu.
    
    'satp_mode' can't be changed via KVM, so SET_ONE_REG is allowed as long
    as userspace writes the existing 'satp_mode'.
    Signed-off-by: default avatarDaniel Henrique Barboza <dbarboza@ventanamicro.com>
    Reviewed-by: default avatarAndrew Jones <ajones@ventanamicro.com>
    Signed-off-by: default avatarAnup Patel <anup@brainfault.org>
    2776421e
kvm.h 9.46 KB