@@ -49,15 +49,42 @@ bool filter_reg(__u64 reg)
4949 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_SVPBMT :
5050 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBA :
5151 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBB :
52+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBC :
53+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBKB :
54+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBKC :
55+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBKX :
5256 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZBS :
57+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZFA :
58+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZFH :
59+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZFHMIN :
5360 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOM :
5461 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICBOZ :
5562 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICNTR :
5663 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICOND :
5764 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZICSR :
5865 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZIFENCEI :
66+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZIHINTNTL :
5967 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZIHINTPAUSE :
6068 case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZIHPM :
69+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKND :
70+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKNE :
71+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKNH :
72+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKR :
73+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKSED :
74+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKSH :
75+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZKT :
76+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVBB :
77+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVBC :
78+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVFH :
79+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVFHMIN :
80+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKB :
81+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKG :
82+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKNED :
83+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKNHA :
84+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKNHB :
85+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKSED :
86+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKSH :
87+ case KVM_REG_RISCV_ISA_EXT | KVM_REG_RISCV_ISA_SINGLE | KVM_RISCV_ISA_EXT_ZVKT :
6188 /*
6289 * Like ISA_EXT registers, SBI_EXT registers are only visible when the
6390 * host supports them and disabling them does not affect the visibility
@@ -394,15 +421,42 @@ static const char *isa_ext_single_id_to_str(__u64 reg_off)
394421 KVM_ISA_EXT_ARR (SVPBMT ),
395422 KVM_ISA_EXT_ARR (ZBA ),
396423 KVM_ISA_EXT_ARR (ZBB ),
424+ KVM_ISA_EXT_ARR (ZBC ),
425+ KVM_ISA_EXT_ARR (ZBKB ),
426+ KVM_ISA_EXT_ARR (ZBKC ),
427+ KVM_ISA_EXT_ARR (ZBKX ),
397428 KVM_ISA_EXT_ARR (ZBS ),
429+ KVM_ISA_EXT_ARR (ZFA ),
430+ KVM_ISA_EXT_ARR (ZFH ),
431+ KVM_ISA_EXT_ARR (ZFHMIN ),
398432 KVM_ISA_EXT_ARR (ZICBOM ),
399433 KVM_ISA_EXT_ARR (ZICBOZ ),
400434 KVM_ISA_EXT_ARR (ZICNTR ),
401435 KVM_ISA_EXT_ARR (ZICOND ),
402436 KVM_ISA_EXT_ARR (ZICSR ),
403437 KVM_ISA_EXT_ARR (ZIFENCEI ),
438+ KVM_ISA_EXT_ARR (ZIHINTNTL ),
404439 KVM_ISA_EXT_ARR (ZIHINTPAUSE ),
405440 KVM_ISA_EXT_ARR (ZIHPM ),
441+ KVM_ISA_EXT_ARR (ZKND ),
442+ KVM_ISA_EXT_ARR (ZKNE ),
443+ KVM_ISA_EXT_ARR (ZKNH ),
444+ KVM_ISA_EXT_ARR (ZKR ),
445+ KVM_ISA_EXT_ARR (ZKSED ),
446+ KVM_ISA_EXT_ARR (ZKSH ),
447+ KVM_ISA_EXT_ARR (ZKT ),
448+ KVM_ISA_EXT_ARR (ZVBB ),
449+ KVM_ISA_EXT_ARR (ZVBC ),
450+ KVM_ISA_EXT_ARR (ZVFH ),
451+ KVM_ISA_EXT_ARR (ZVFHMIN ),
452+ KVM_ISA_EXT_ARR (ZVKB ),
453+ KVM_ISA_EXT_ARR (ZVKG ),
454+ KVM_ISA_EXT_ARR (ZVKNED ),
455+ KVM_ISA_EXT_ARR (ZVKNHA ),
456+ KVM_ISA_EXT_ARR (ZVKNHB ),
457+ KVM_ISA_EXT_ARR (ZVKSED ),
458+ KVM_ISA_EXT_ARR (ZVKSH ),
459+ KVM_ISA_EXT_ARR (ZVKT ),
406460 };
407461
408462 if (reg_off >= ARRAY_SIZE (kvm_isa_ext_reg_name ))
@@ -888,15 +942,42 @@ KVM_ISA_EXT_SIMPLE_CONFIG(svnapot, SVNAPOT);
888942KVM_ISA_EXT_SIMPLE_CONFIG (svpbmt , SVPBMT );
889943KVM_ISA_EXT_SIMPLE_CONFIG (zba , ZBA );
890944KVM_ISA_EXT_SIMPLE_CONFIG (zbb , ZBB );
945+ KVM_ISA_EXT_SIMPLE_CONFIG (zbc , ZBC );
946+ KVM_ISA_EXT_SIMPLE_CONFIG (zbkb , ZBKB );
947+ KVM_ISA_EXT_SIMPLE_CONFIG (zbkc , ZBKC );
948+ KVM_ISA_EXT_SIMPLE_CONFIG (zbkx , ZBKX );
891949KVM_ISA_EXT_SIMPLE_CONFIG (zbs , ZBS );
950+ KVM_ISA_EXT_SIMPLE_CONFIG (zfa , ZFA );
951+ KVM_ISA_EXT_SIMPLE_CONFIG (zfh , ZFH );
952+ KVM_ISA_EXT_SIMPLE_CONFIG (zfhmin , ZFHMIN );
892953KVM_ISA_EXT_SUBLIST_CONFIG (zicbom , ZICBOM );
893954KVM_ISA_EXT_SUBLIST_CONFIG (zicboz , ZICBOZ );
894955KVM_ISA_EXT_SIMPLE_CONFIG (zicntr , ZICNTR );
895956KVM_ISA_EXT_SIMPLE_CONFIG (zicond , ZICOND );
896957KVM_ISA_EXT_SIMPLE_CONFIG (zicsr , ZICSR );
897958KVM_ISA_EXT_SIMPLE_CONFIG (zifencei , ZIFENCEI );
959+ KVM_ISA_EXT_SIMPLE_CONFIG (zihintntl , ZIHINTNTL );
898960KVM_ISA_EXT_SIMPLE_CONFIG (zihintpause , ZIHINTPAUSE );
899961KVM_ISA_EXT_SIMPLE_CONFIG (zihpm , ZIHPM );
962+ KVM_ISA_EXT_SIMPLE_CONFIG (zknd , ZKND );
963+ KVM_ISA_EXT_SIMPLE_CONFIG (zkne , ZKNE );
964+ KVM_ISA_EXT_SIMPLE_CONFIG (zknh , ZKNH );
965+ KVM_ISA_EXT_SIMPLE_CONFIG (zkr , ZKR );
966+ KVM_ISA_EXT_SIMPLE_CONFIG (zksed , ZKSED );
967+ KVM_ISA_EXT_SIMPLE_CONFIG (zksh , ZKSH );
968+ KVM_ISA_EXT_SIMPLE_CONFIG (zkt , ZKT );
969+ KVM_ISA_EXT_SIMPLE_CONFIG (zvbb , ZVBB );
970+ KVM_ISA_EXT_SIMPLE_CONFIG (zvbc , ZVBC );
971+ KVM_ISA_EXT_SIMPLE_CONFIG (zvfh , ZVFH );
972+ KVM_ISA_EXT_SIMPLE_CONFIG (zvfhmin , ZVFHMIN );
973+ KVM_ISA_EXT_SIMPLE_CONFIG (zvkb , ZVKB );
974+ KVM_ISA_EXT_SIMPLE_CONFIG (zvkg , ZVKG );
975+ KVM_ISA_EXT_SIMPLE_CONFIG (zvkned , ZVKNED );
976+ KVM_ISA_EXT_SIMPLE_CONFIG (zvknha , ZVKNHA );
977+ KVM_ISA_EXT_SIMPLE_CONFIG (zvknhb , ZVKNHB );
978+ KVM_ISA_EXT_SIMPLE_CONFIG (zvksed , ZVKSED );
979+ KVM_ISA_EXT_SIMPLE_CONFIG (zvksh , ZVKSH );
980+ KVM_ISA_EXT_SIMPLE_CONFIG (zvkt , ZVKT );
900981
901982struct vcpu_reg_list * vcpu_configs [] = {
902983 & config_sbi_base ,
@@ -914,14 +995,41 @@ struct vcpu_reg_list *vcpu_configs[] = {
914995 & config_svpbmt ,
915996 & config_zba ,
916997 & config_zbb ,
998+ & config_zbc ,
999+ & config_zbkb ,
1000+ & config_zbkc ,
1001+ & config_zbkx ,
9171002 & config_zbs ,
1003+ & config_zfa ,
1004+ & config_zfh ,
1005+ & config_zfhmin ,
9181006 & config_zicbom ,
9191007 & config_zicboz ,
9201008 & config_zicntr ,
9211009 & config_zicond ,
9221010 & config_zicsr ,
9231011 & config_zifencei ,
1012+ & config_zihintntl ,
9241013 & config_zihintpause ,
9251014 & config_zihpm ,
1015+ & config_zknd ,
1016+ & config_zkne ,
1017+ & config_zknh ,
1018+ & config_zkr ,
1019+ & config_zksed ,
1020+ & config_zksh ,
1021+ & config_zkt ,
1022+ & config_zvbb ,
1023+ & config_zvbc ,
1024+ & config_zvfh ,
1025+ & config_zvfhmin ,
1026+ & config_zvkb ,
1027+ & config_zvkg ,
1028+ & config_zvkned ,
1029+ & config_zvknha ,
1030+ & config_zvknhb ,
1031+ & config_zvksed ,
1032+ & config_zvksh ,
1033+ & config_zvkt ,
9261034};
9271035int vcpu_configs_n = ARRAY_SIZE (vcpu_configs );
0 commit comments