Lines Matching refs:reg_off

246 	/* reg_off is the offset into struct kvm_riscv_config */
247 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_CONFIG);
251 switch (reg_off) {
268 return strdup_printf("%lld /* UNKNOWN */", reg_off);
273 /* reg_off is the offset into struct kvm_riscv_core */
274 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_CORE);
278 switch (reg_off) {
291 reg_off - KVM_REG_RISCV_CORE_REG(regs.t0));
294 reg_off - KVM_REG_RISCV_CORE_REG(regs.s0));
297 reg_off - KVM_REG_RISCV_CORE_REG(regs.a0));
300 reg_off - KVM_REG_RISCV_CORE_REG(regs.s2) + 2);
303 reg_off - KVM_REG_RISCV_CORE_REG(regs.t3) + 3);
308 return strdup_printf("%lld /* UNKNOWN */", reg_off);
318 static const char *general_csr_id_to_str(__u64 reg_off)
320 /* reg_off is the offset into struct kvm_riscv_csr */
321 switch (reg_off) {
346 return strdup_printf("KVM_REG_RISCV_CSR_GENERAL | %lld /* UNKNOWN */", reg_off);
349 static const char *aia_csr_id_to_str(__u64 reg_off)
351 /* reg_off is the offset into struct kvm_riscv_aia_csr */
352 switch (reg_off) {
369 return strdup_printf("KVM_REG_RISCV_CSR_AIA | %lld /* UNKNOWN */", reg_off);
372 static const char *smstateen_csr_id_to_str(__u64 reg_off)
374 /* reg_off is the offset into struct kvm_riscv_smstateen_csr */
375 switch (reg_off) {
380 TEST_FAIL("Unknown smstateen csr reg: 0x%llx", reg_off);
386 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_CSR);
387 __u64 reg_subtype = reg_off & KVM_REG_RISCV_SUBTYPE_MASK;
391 reg_off &= ~KVM_REG_RISCV_SUBTYPE_MASK;
395 return general_csr_id_to_str(reg_off);
397 return aia_csr_id_to_str(reg_off);
399 return smstateen_csr_id_to_str(reg_off);
402 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);
407 /* reg_off is the offset into struct kvm_riscv_timer */
408 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_TIMER);
412 switch (reg_off) {
423 return strdup_printf("%lld /* UNKNOWN */", reg_off);
428 /* reg_off is the offset into struct __riscv_f_ext_state */
429 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_FP_F);
433 switch (reg_off) {
436 return strdup_printf("KVM_REG_RISCV_FP_F_REG(f[%lld])", reg_off);
441 return strdup_printf("%lld /* UNKNOWN */", reg_off);
446 /* reg_off is the offset into struct __riscv_d_ext_state */
447 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_FP_D);
451 switch (reg_off) {
454 return strdup_printf("KVM_REG_RISCV_FP_D_REG(f[%lld])", reg_off);
459 return strdup_printf("%lld /* UNKNOWN */", reg_off);
464 /* reg_off is the offset into struct __riscv_v_ext_state */
465 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_VECTOR);
470 if (reg_off >= KVM_REG_RISCV_VECTOR_REG(0))
471 reg_index = reg_off - KVM_REG_RISCV_VECTOR_REG(0);
472 switch (reg_off) {
488 return strdup_printf("%lld /* UNKNOWN */", reg_off);
494 static const char *isa_ext_single_id_to_str(__u64 reg_off)
570 if (reg_off >= ARRAY_SIZE(kvm_isa_ext_reg_name))
571 return strdup_printf("KVM_REG_RISCV_ISA_SINGLE | %lld /* UNKNOWN */", reg_off);
573 return kvm_isa_ext_reg_name[reg_off];
576 static const char *isa_ext_multi_id_to_str(__u64 reg_subtype, __u64 reg_off)
580 if (reg_off > KVM_REG_RISCV_ISA_MULTI_REG_LAST)
585 return strdup_printf("KVM_REG_RISCV_ISA_MULTI_EN | %lld%s", reg_off, unknown);
587 return strdup_printf("KVM_REG_RISCV_ISA_MULTI_DIS | %lld%s", reg_off, unknown);
590 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);
595 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_ISA_EXT);
596 __u64 reg_subtype = reg_off & KVM_REG_RISCV_SUBTYPE_MASK;
600 reg_off &= ~KVM_REG_RISCV_SUBTYPE_MASK;
604 return isa_ext_single_id_to_str(reg_off);
607 return isa_ext_multi_id_to_str(reg_subtype, reg_off);
610 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);
616 static const char *sbi_ext_single_id_to_str(__u64 reg_off)
618 /* reg_off is KVM_RISCV_SBI_EXT_ID */
634 if (reg_off >= ARRAY_SIZE(kvm_sbi_ext_reg_name))
635 return strdup_printf("KVM_REG_RISCV_SBI_SINGLE | %lld /* UNKNOWN */", reg_off);
637 return kvm_sbi_ext_reg_name[reg_off];
640 static const char *sbi_ext_multi_id_to_str(__u64 reg_subtype, __u64 reg_off)
644 if (reg_off > KVM_REG_RISCV_SBI_MULTI_REG_LAST)
649 return strdup_printf("KVM_REG_RISCV_SBI_MULTI_EN | %lld%s", reg_off, unknown);
651 return strdup_printf("KVM_REG_RISCV_SBI_MULTI_DIS | %lld%s", reg_off, unknown);
654 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);
659 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_SBI_EXT);
660 __u64 reg_subtype = reg_off & KVM_REG_RISCV_SUBTYPE_MASK;
664 reg_off &= ~KVM_REG_RISCV_SUBTYPE_MASK;
668 return sbi_ext_single_id_to_str(reg_off);
671 return sbi_ext_multi_id_to_str(reg_subtype, reg_off);
674 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);
677 static const char *sbi_sta_id_to_str(__u64 reg_off)
679 switch (reg_off) {
683 return strdup_printf("KVM_REG_RISCV_SBI_STA | %lld /* UNKNOWN */", reg_off);
688 __u64 reg_off = id & ~(REG_MASK | KVM_REG_RISCV_SBI_STATE);
689 __u64 reg_subtype = reg_off & KVM_REG_RISCV_SUBTYPE_MASK;
693 reg_off &= ~KVM_REG_RISCV_SUBTYPE_MASK;
697 return sbi_sta_id_to_str(reg_off);
700 return strdup_printf("%lld | %lld /* UNKNOWN */", reg_subtype, reg_off);