CSR_CYCLE
if (csr_num == CSR_CYCLE || csr_num == CSR_INSTRET) {
{.base = CSR_CYCLE, .count = 3, .func = kvm_riscv_vcpu_pmu_read_legacy },
{.base = CSR_CYCLE, .count = 32, .func = kvm_riscv_vcpu_pmu_read_hpm },
{.base = CSR_CYCLE, .count = 32, .func = kvm_riscv_vcpu_pmu_read_hpm },
if (csr_num == CSR_CYCLE || csr_num == CSR_INSTRET) {
cidx = csr_num - CSR_CYCLE;
pmc->cinfo.csr = CSR_CYCLE + i;
switchcase_csr_read_32(CSR_CYCLE, ret)
if (csr < CSR_CYCLE || csr > CSR_HPMCOUNTER31H ||
val = riscv_pmu_ctr_read_csr(CSR_CYCLE);
hidx = info->csr - CSR_CYCLE;
if (!hpm_width && info->csr != CSR_CYCLE && info->csr != CSR_INSTRET)
return pmu_ctr_list[event->hw.idx].csr - CSR_CYCLE;
cmask = BIT(CSR_INSTRET - CSR_CYCLE);
switchcase_csr_read_32(CSR_CYCLE, ret)
return csr_read_num(CSR_CYCLE + counter);
__GUEST_ASSERT((csr_num >= CSR_CYCLE && csr_num <= CSR_HPMCOUNTER31),
switchcase_csr_read_32(CSR_CYCLE, ret)