Skip to content

Commit e677fab

Browse files
zcxGGmuavpatel
authored andcommitted
KVM: riscv: selftests: Add Zicbop extension to get-reg-list test
The KVM RISC-V allows Zicbop extension for Guest/VM so add them to get-reg-list test. Signed-off-by: Quan Zhou <zhouquan@iscas.ac.cn> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Nutty Liu <nutty.liu@hotmail.com> Link: https://lore.kernel.org/r/076908690c15070f907f43d2ff81ba7e95582ec7.1754646071.git.zhouquan@iscas.ac.cn Signed-off-by: Anup Patel <anup@brainfault.org>
1 parent 44c3d08 commit e677fab

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

tools/testing/selftests/kvm/riscv/get-reg-list.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ bool filter_reg(__u64 reg)
8383
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZFH:
8484
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZFHMIN:
8585
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOM:
86+
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOP:
8687
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOZ:
8788
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICCRSE:
8889
case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICNTR:
@@ -255,6 +256,8 @@ static const char *config_id_to_str(const char *prefix, __u64 id)
255256
return "KVM_REG_RISCV_CONFIG_REG(zicbom_block_size)";
256257
case KVM_REG_RISCV_CONFIG_REG(zicboz_block_size):
257258
return "KVM_REG_RISCV_CONFIG_REG(zicboz_block_size)";
259+
case KVM_REG_RISCV_CONFIG_REG(zicbop_block_size):
260+
return "KVM_REG_RISCV_CONFIG_REG(zicbop_block_size)";
258261
case KVM_REG_RISCV_CONFIG_REG(mvendorid):
259262
return "KVM_REG_RISCV_CONFIG_REG(mvendorid)";
260263
case KVM_REG_RISCV_CONFIG_REG(marchid):
@@ -535,6 +538,7 @@ static const char *isa_ext_single_id_to_str(__u64 reg_off)
535538
KVM_ISA_EXT_ARR(ZFH),
536539
KVM_ISA_EXT_ARR(ZFHMIN),
537540
KVM_ISA_EXT_ARR(ZICBOM),
541+
KVM_ISA_EXT_ARR(ZICBOP),
538542
KVM_ISA_EXT_ARR(ZICBOZ),
539543
KVM_ISA_EXT_ARR(ZICCRSE),
540544
KVM_ISA_EXT_ARR(ZICNTR),
@@ -780,10 +784,13 @@ void print_reg(const char *prefix, __u64 id)
780784
*/
781785
static __u64 base_regs[] = {
782786
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(isa),
787+
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(zicbom_block_size),
783788
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(mvendorid),
784789
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(marchid),
785790
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(mimpid),
791+
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(zicboz_block_size),
786792
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(satp_mode),
793+
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(zicbop_block_size),
787794
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CORE | KVM_REG_RISCV_CORE_REG(regs.pc),
788795
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CORE | KVM_REG_RISCV_CORE_REG(regs.ra),
789796
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CORE | KVM_REG_RISCV_CORE_REG(regs.sp),
@@ -864,6 +871,11 @@ static __u64 zicbom_regs[] = {
864871
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOM,
865872
};
866873

874+
static __u64 zicbop_regs[] = {
875+
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(zicbop_block_size),
876+
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOP,
877+
};
878+
867879
static __u64 zicboz_regs[] = {
868880
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CONFIG | KVM_REG_RISCV_CONFIG_REG(zicboz_block_size),
869881
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOZ,
@@ -1012,6 +1024,8 @@ static __u64 vector_regs[] = {
10121024
.regs = sbi_sta_regs, .regs_n = ARRAY_SIZE(sbi_sta_regs),}
10131025
#define SUBLIST_ZICBOM \
10141026
{"zicbom", .feature = KVM_RISCV_ISA_EXT_ZICBOM, .regs = zicbom_regs, .regs_n = ARRAY_SIZE(zicbom_regs),}
1027+
#define SUBLIST_ZICBOP \
1028+
{"zicbop", .feature = KVM_RISCV_ISA_EXT_ZICBOP, .regs = zicbop_regs, .regs_n = ARRAY_SIZE(zicbop_regs),}
10151029
#define SUBLIST_ZICBOZ \
10161030
{"zicboz", .feature = KVM_RISCV_ISA_EXT_ZICBOZ, .regs = zicboz_regs, .regs_n = ARRAY_SIZE(zicboz_regs),}
10171031
#define SUBLIST_AIA \
@@ -1130,6 +1144,7 @@ KVM_ISA_EXT_SIMPLE_CONFIG(zfa, ZFA);
11301144
KVM_ISA_EXT_SIMPLE_CONFIG(zfh, ZFH);
11311145
KVM_ISA_EXT_SIMPLE_CONFIG(zfhmin, ZFHMIN);
11321146
KVM_ISA_EXT_SUBLIST_CONFIG(zicbom, ZICBOM);
1147+
KVM_ISA_EXT_SUBLIST_CONFIG(zicbop, ZICBOP);
11331148
KVM_ISA_EXT_SUBLIST_CONFIG(zicboz, ZICBOZ);
11341149
KVM_ISA_EXT_SIMPLE_CONFIG(ziccrse, ZICCRSE);
11351150
KVM_ISA_EXT_SIMPLE_CONFIG(zicntr, ZICNTR);
@@ -1204,6 +1219,7 @@ struct vcpu_reg_list *vcpu_configs[] = {
12041219
&config_zfh,
12051220
&config_zfhmin,
12061221
&config_zicbom,
1222+
&config_zicbop,
12071223
&config_zicboz,
12081224
&config_ziccrse,
12091225
&config_zicntr,

0 commit comments

Comments
 (0)