summaryrefslogtreecommitdiff
path: root/arch/riscv/include/uapi/asm/kvm.h
diff options
context:
space:
mode:
authorAndrew Jones <ajones@ventanamicro.com>2023-12-20 19:00:20 +0300
committerAnup Patel <anup@brainfault.org>2023-12-30 08:56:33 +0300
commit5b9e41321ba919dd051c68d2a1d2c753aa61634c (patch)
treeea69aa9b76c394466a1fd6b93aad99b74fed07a6 /arch/riscv/include/uapi/asm/kvm.h
parent38b3390ee4880140b6245fe3273fe9ce53f65bde (diff)
downloadlinux-5b9e41321ba919dd051c68d2a1d2c753aa61634c.tar.xz
RISC-V: KVM: Add support for SBI extension registers
Some SBI extensions have state that needs to be saved / restored when migrating the VM. Provide a get/set-one-reg register type for SBI extension registers. Each SBI extension that uses this type will have its own subtype. There are currently no subtypes defined. The next patch introduces the first one. Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Atish Patra <atishp@rivosinc.com> Signed-off-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'arch/riscv/include/uapi/asm/kvm.h')
-rw-r--r--arch/riscv/include/uapi/asm/kvm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/riscv/include/uapi/asm/kvm.h b/arch/riscv/include/uapi/asm/kvm.h
index e961d79622fb..3471b1e48d18 100644
--- a/arch/riscv/include/uapi/asm/kvm.h
+++ b/arch/riscv/include/uapi/asm/kvm.h
@@ -242,6 +242,9 @@ enum KVM_RISCV_SBI_EXT_ID {
#define KVM_REG_RISCV_VECTOR_REG(n) \
((n) + sizeof(struct __riscv_v_ext_state) / sizeof(unsigned long))
+/* Registers for specific SBI extensions are mapped as type 10 */
+#define KVM_REG_RISCV_SBI_STATE (0x0a << KVM_REG_RISCV_TYPE_SHIFT)
+
/* Device Control API: RISC-V AIA */
#define KVM_DEV_RISCV_APLIC_ALIGN 0x1000
#define KVM_DEV_RISCV_APLIC_SIZE 0x4000