diff options
| author | 6eanut <jiakaiPeanut@gmail.com> | 2026-01-26 01:17:15 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2026-01-29 08:30:54 +0000 |
| commit | aeb6fdd5881e1cc944ebb799251028a4122e98e4 (patch) | |
| tree | 72e7865eaf5f371901ce9aa9d91222f959dc9f08 /sys/linux | |
| parent | a0f9b371a48bfd232ac324fd5c35e84d346f7c25 (diff) | |
sys/linux: add more riscv64 specific registers
This patch adds more riscv64 specific registers to improve the KVM support
for RISC-V architecture.
Signed-off-by: 6eanut <jiakaiPeanut@gmail.com>
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/dev_kvm.txt | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/sys/linux/dev_kvm.txt b/sys/linux/dev_kvm.txt index 555089723..a3d646efb 100644 --- a/sys/linux/dev_kvm.txt +++ b/sys/linux/dev_kvm.txt @@ -338,25 +338,30 @@ kvm_msi { kvm_one_reg [ # Constants from https://docs.kernel.org/virt/kvm/api.html - arm64_core kvm_one_reg_arm64_srange[0x6030000000100000:0x6030000000100050, 2] - arm64_fp kvm_one_reg_arm64_range[0x6040000000100054:0x60400000001000d0] - arm64_fp_extra kvm_one_reg_arm64_range[0x60200000001000d4:0x60200000001000d5] + arm64_core kvm_one_reg_arm64_srange[0x6030000000100000:0x6030000000100050, 2] + arm64_fp kvm_one_reg_arm64_range[0x6040000000100054:0x60400000001000d0] + arm64_fp_extra kvm_one_reg_arm64_range[0x60200000001000d4:0x60200000001000d5] # Got 0x602000000011000d from KVM_GET_REG_LIST on QEMU - arm64_ccsidr kvm_one_reg_arm64_range[0x6020000000110000:0x602000000011000d] - arm64_sys kvm_one_reg_arm64[kvm_regs_arm64_sys] - arm64_extra kvm_one_reg_arm64[kvm_regs_arm64_extra] - arm64_bitmap kvm_one_reg_arm64_range[0x6030000000160000:0x6030000000160002] - arm64_fw kvm_one_reg_arm64_range[0x6030000000140000:0x6030000000140003] - arm64_sve kvm_one_reg_arm64_range[0x6080000000150000:0x6080000000150620] - arm64_sve_vls kvm_one_reg_arm64_range[0x606000000015ffff] - other kvm_one_reg_other + arm64_ccsidr kvm_one_reg_arm64_range[0x6020000000110000:0x602000000011000d] + arm64_sys kvm_one_reg_arm64[kvm_regs_arm64_sys] + arm64_extra kvm_one_reg_arm64[kvm_regs_arm64_extra] + arm64_bitmap kvm_one_reg_arm64_range[0x6030000000160000:0x6030000000160002] + arm64_fw kvm_one_reg_arm64_range[0x6030000000140000:0x6030000000140003] + arm64_sve kvm_one_reg_arm64_range[0x6080000000150000:0x6080000000150620] + arm64_sve_vls kvm_one_reg_arm64_range[0x606000000015ffff] + other kvm_one_reg_other # For riscv64 - riscv64_config kvm_one_reg_riscv64[kvm_regs_riscv64_config] - riscv64_core kvm_one_reg_riscv64[kvm_regs_riscv64_core] - riscv64_csr kvm_one_reg_riscv64[kvm_regs_riscv64_csr] - riscv64_timer kvm_one_reg_riscv64[kvm_regs_riscv64_timer] - riscv64_f kvm_one_reg_riscv64[kvm_regs_riscv64_f] - riscv64_d kvm_one_reg_riscv64[kvm_regs_riscv64_d] + riscv64_config kvm_one_reg_riscv64[kvm_regs_riscv64_config] + riscv64_core kvm_one_reg_riscv64[kvm_regs_riscv64_core] + riscv64_csr kvm_one_reg_riscv64[kvm_regs_riscv64_csr] + riscv64_aia_csr kvm_one_reg_riscv64[kvm_regs_riscv64_aia_csr] + riscv64_smstateen_csr kvm_one_reg_riscv64[kvm_regs_riscv64_smstateen_csr] + riscv64_timer kvm_one_reg_riscv64[kvm_regs_riscv64_timer] + riscv64_sbi_sta kvm_one_reg_riscv64[kvm_regs_riscv64_sbi_sta] + riscv64_sbi_fwft kvm_one_reg_riscv64[kvm_regs_riscv64_sbi_fwft] + riscv64_f kvm_one_reg_riscv64[kvm_regs_riscv64_f] + riscv64_d kvm_one_reg_riscv64[kvm_regs_riscv64_d] + riscv64_v kvm_one_reg_riscv64[kvm_regs_riscv64_v] ] type kvm_one_reg_riscv64[FTYPE] { @@ -636,10 +641,15 @@ kvm_regs_arm64_sys = 0x6030000000138002, 0x6030000000138010, 0x6030000000138012, kvm_regs_arm64_extra = 0x603000000013c01b, 0x603000000013c01f, 0x603000000013c022, 0x603000000013c023, 0x603000000013c025, 0x603000000013c026, 0x603000000013c027, 0x603000000013c02a, 0x603000000013c02b, 0x603000000013c02e, 0x603000000013c02f, 0x603000000013c033, 0x603000000013c034, 0x603000000013c035, 0x603000000013c036, 0x603000000013c037, 0x603000000013c03b, 0x603000000013c03c, 0x603000000013c03d, 0x603000000013c03e, 0x603000000013c03f, 0x603000000013c103, 0x603000000013c512, 0x603000000013c513 # End of register descriptions generated by tools/arm64/registers.go -# For riscv64, https://elixir.bootlin.com/linux/v6.19-rc4/source/Documentation/virt/kvm/api.rst#L2765 +# For riscv64, the following ids are computed from arch/riscv/include/uapi/asm/kvm.h and arch/riscv/include/uapi/asm/ptrace.h . kvm_regs_riscv64_config = 0x8030000000100000, 0x8030000000100001, 0x8030000000100002, 0x8030000000100003, 0x8030000000100004, 0x8030000000100005, 0x8030000000100006, 0x8030000000100007 kvm_regs_riscv64_core = 0x8030000000200000, 0x8030000000200001, 0x8030000000200002, 0x8030000000200003, 0x8030000000200004, 0x8030000000200005, 0x8030000000200006, 0x8030000000200007, 0x8030000000200008, 0x8030000000200009, 0x803000000020000a, 0x803000000020000b, 0x803000000020000c, 0x803000000020000d, 0x803000000020000e, 0x803000000020000f, 0x8030000000200010, 0x8030000000200011, 0x8030000000200012, 0x8030000000200013, 0x8030000000200014, 0x8030000000200015, 0x8030000000200016, 0x8030000000200017, 0x8030000000200018, 0x8030000000200019, 0x803000000020001a, 0x803000000020001b, 0x803000000020001c, 0x803000000020001d, 0x803000000020001e, 0x803000000020001f, 0x8030000000200020 kvm_regs_riscv64_csr = 0x8030000000300000, 0x8030000000300001, 0x8030000000300002, 0x8030000000300003, 0x8030000000300004, 0x8030000000300005, 0x8030000000300006, 0x8030000000300007, 0x8030000000300008 +kvm_regs_riscv64_aia_csr = 0x8030000003010000, 0x8030000003010001, 0x8030000003010002, 0x8030000003010003, 0x8030000003010004, 0x8030000003010005, 0x8030000003010006 +kvm_regs_riscv64_smstateen_csr = 0x8030000003020000 kvm_regs_riscv64_timer = 0x8030000004000000, 0x8030000004000001, 0x8030000004000002, 0x8030000004000003 +kvm_regs_riscv64_sbi_sta = 0x803000000a000000, 0x803000000a000001 +kvm_regs_riscv64_sbi_fwft = 0x803000000a010000, 0x803000000a010001, 0x803000000a010002, 0x803000000a010003, 0x803000000a010004, 0x803000000a010005 kvm_regs_riscv64_f = 0x8020000005000000, 0x8020000005000001, 0x8020000005000002, 0x8020000005000003, 0x8020000005000004, 0x8020000005000005, 0x8020000005000006, 0x8020000005000007, 0x8020000005000008, 0x8020000005000009, 0x802000000500000a, 0x802000000500000b, 0x802000000500000c, 0x802000000500000d, 0x802000000500000e, 0x802000000500000f, 0x8020000005000010, 0x8020000005000011, 0x8020000005000012, 0x8020000005000013, 0x8020000005000014, 0x8020000005000015, 0x8020000005000016, 0x8020000005000017, 0x8020000005000018, 0x8020000005000019, 0x802000000500001a, 0x802000000500001b, 0x802000000500001c, 0x802000000500001d, 0x802000000500001e, 0x802000000500001f, 0x8020000005000020 kvm_regs_riscv64_d = 0x8030000006000000, 0x8030000006000001, 0x8030000006000002, 0x8030000006000003, 0x8030000006000004, 0x8030000006000005, 0x8030000006000006, 0x8030000006000007, 0x8030000006000008, 0x8030000006000009, 0x803000000600000a, 0x803000000600000b, 0x803000000600000c, 0x803000000600000d, 0x803000000600000e, 0x803000000600000f, 0x8030000006000010, 0x8030000006000011, 0x8030000006000012, 0x8030000006000013, 0x8030000006000014, 0x8030000006000015, 0x8030000006000016, 0x8030000006000017, 0x8030000006000018, 0x8030000006000019, 0x803000000600001a, 0x803000000600001b, 0x803000000600001c, 0x803000000600001d, 0x803000000600001e, 0x803000000600001f, 0x8020000006000020 +kvm_regs_riscv64_v = 0x8030000009000000, 0x8030000009000001, 0x8030000009000002, 0x8030000009000003, 0x8030000009000004, 0x8030000009000005, 0x8030000009000006, 0x8030000009000007, 0x8030000009000008, 0x8030000009000009, 0x803000000900000a, 0x803000000900000b, 0x803000000900000c, 0x803000000900000d, 0x803000000900000e, 0x803000000900000f, 0x8030000009000010, 0x8030000009000011, 0x8030000009000012, 0x8030000009000013, 0x8030000009000014, 0x8030000009000015, 0x8030000009000016, 0x8030000009000017, 0x8030000009000018, 0x8030000009000019, 0x803000000900001a, 0x803000000900001b, 0x803000000900001c, 0x803000000900001d, 0x803000000900001e, 0x803000000900001f, 0x8030000009000020, 0x8030000009000021, 0x8030000009000022, 0x8030000009000023, 0x8030000009000024, 0x8030000009000025 |
