diff options
author | Anup Patel <apatel@ventanamicro.com> | 2023-01-11 08:56:10 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2023-04-21 15:40:27 +0300 |
commit | 2f4d58f7635aec014428e73ef6120c4d0377c430 (patch) | |
tree | 1b7ebc96658063067c58e7bdf88053d11a41017d /arch/riscv/include/uapi | |
parent | 6b1e8ba4bac49d99232026cae7eb8db3d338f9c2 (diff) | |
download | linux-2f4d58f7635aec014428e73ef6120c4d0377c430.tar.xz |
RISC-V: KVM: Virtualize per-HART AIA CSRs
The AIA specification introduce per-HART AIA CSRs which primarily
support:
* 64 local interrupts on both RV64 and RV32
* priority for each of the 64 local interrupts
* interrupt filtering for local interrupts
This patch virtualize above mentioned AIA CSRs and also extend
ONE_REG interface to allow user-space save/restore Guest/VM
view of these CSRs.
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'arch/riscv/include/uapi')
-rw-r--r-- | arch/riscv/include/uapi/asm/kvm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/riscv/include/uapi/asm/kvm.h b/arch/riscv/include/uapi/asm/kvm.h index cbc3e74fa670..59707b80b315 100644 --- a/arch/riscv/include/uapi/asm/kvm.h +++ b/arch/riscv/include/uapi/asm/kvm.h @@ -81,6 +81,13 @@ struct kvm_riscv_csr { /* AIA CSR registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ struct kvm_riscv_aia_csr { + unsigned long siselect; + unsigned long iprio1; + unsigned long iprio2; + unsigned long sieh; + unsigned long siph; + unsigned long iprio1h; + unsigned long iprio2h; }; /* TIMER registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ |