Lines Matching refs:csrno

38 void riscv_get_csr_ops(int csrno, riscv_csr_operations *ops)  in riscv_get_csr_ops()  argument
40 *ops = csr_ops[csrno & (CSR_TABLE_SIZE - 1)]; in riscv_get_csr_ops()
43 void riscv_set_csr_ops(int csrno, const riscv_csr_operations *ops) in riscv_set_csr_ops() argument
45 csr_ops[csrno & (CSR_TABLE_SIZE - 1)] = *ops; in riscv_set_csr_ops()
82 static RISCVException fs(CPURISCVState *env, int csrno) in fs() argument
97 static RISCVException vs(CPURISCVState *env, int csrno) in vs() argument
110 static RISCVException ctr(CPURISCVState *env, int csrno) in ctr() argument
119 if (rv32 && csrno >= CSR_CYCLEH) { in ctr()
123 ctr_index = csrno - base_csrno; in ctr()
126 if ((csrno >= CSR_CYCLE && csrno <= CSR_INSTRET) || in ctr()
127 (csrno >= CSR_CYCLEH && csrno <= CSR_INSTRETH)) { in ctr()
166 static RISCVException ctr32(CPURISCVState *env, int csrno) in ctr32() argument
172 return ctr(env, csrno); in ctr32()
175 static RISCVException zcmt(CPURISCVState *env, int csrno) in zcmt() argument
191 static RISCVException cfi_ss(CPURISCVState *env, int csrno) in cfi_ss() argument
216 static RISCVException mctr(CPURISCVState *env, int csrno) in mctr() argument
223 if ((riscv_cpu_mxl(env) == MXL_RV32) && csrno >= CSR_MCYCLEH) { in mctr()
225 csrno -= 0x80; in mctr()
228 g_assert(csrno >= CSR_MHPMCOUNTER3 && csrno <= CSR_MHPMCOUNTER31); in mctr()
230 ctr_index = csrno - base_csrno; in mctr()
239 static RISCVException mctr32(CPURISCVState *env, int csrno) in mctr32() argument
245 return mctr(env, csrno); in mctr32()
248 static RISCVException sscofpmf(CPURISCVState *env, int csrno) in sscofpmf() argument
257 static RISCVException sscofpmf_32(CPURISCVState *env, int csrno) in sscofpmf_32() argument
263 return sscofpmf(env, csrno); in sscofpmf_32()
266 static RISCVException smcntrpmf(CPURISCVState *env, int csrno) in smcntrpmf() argument
275 static RISCVException smcntrpmf_32(CPURISCVState *env, int csrno) in smcntrpmf_32() argument
281 return smcntrpmf(env, csrno); in smcntrpmf_32()
284 static RISCVException any(CPURISCVState *env, int csrno) in any() argument
289 static RISCVException any32(CPURISCVState *env, int csrno) in any32() argument
295 return any(env, csrno); in any32()
299 static RISCVException aia_any(CPURISCVState *env, int csrno) in aia_any() argument
305 return any(env, csrno); in aia_any()
308 static RISCVException aia_any32(CPURISCVState *env, int csrno) in aia_any32() argument
314 return any32(env, csrno); in aia_any32()
317 static RISCVException csrind_any(CPURISCVState *env, int csrno) in csrind_any() argument
326 static RISCVException csrind_or_aia_any(CPURISCVState *env, int csrno) in csrind_or_aia_any() argument
332 return any(env, csrno); in csrind_or_aia_any()
335 static RISCVException smode(CPURISCVState *env, int csrno) in smode() argument
344 static RISCVException smode32(CPURISCVState *env, int csrno) in smode32() argument
350 return smode(env, csrno); in smode32()
353 static RISCVException aia_smode(CPURISCVState *env, int csrno) in aia_smode() argument
361 if (csrno == CSR_STOPEI) { in aia_smode()
371 return smode(env, csrno); in aia_smode()
374 static RISCVException aia_smode32(CPURISCVState *env, int csrno) in aia_smode32() argument
387 return smode32(env, csrno); in aia_smode32()
390 static RISCVException scountinhibit_pred(CPURISCVState *env, int csrno) in scountinhibit_pred() argument
402 return smode(env, csrno); in scountinhibit_pred()
420 static RISCVException csrind_smode(CPURISCVState *env, int csrno) in csrind_smode() argument
426 return smode(env, csrno); in csrind_smode()
429 static RISCVException csrind_or_aia_smode(CPURISCVState *env, int csrno) in csrind_or_aia_smode() argument
435 return smode(env, csrno); in csrind_or_aia_smode()
438 static RISCVException hmode(CPURISCVState *env, int csrno) in hmode() argument
447 static RISCVException hmode32(CPURISCVState *env, int csrno) in hmode32() argument
453 return hmode(env, csrno); in hmode32()
457 static RISCVException csrind_hmode(CPURISCVState *env, int csrno) in csrind_hmode() argument
463 return hmode(env, csrno); in csrind_hmode()
466 static RISCVException csrind_or_aia_hmode(CPURISCVState *env, int csrno) in csrind_or_aia_hmode() argument
472 return hmode(env, csrno); in csrind_or_aia_hmode()
475 static RISCVException umode(CPURISCVState *env, int csrno) in umode() argument
484 static RISCVException umode32(CPURISCVState *env, int csrno) in umode32() argument
490 return umode(env, csrno); in umode32()
493 static RISCVException mstateen(CPURISCVState *env, int csrno) in mstateen() argument
499 return any(env, csrno); in mstateen()
502 static RISCVException hstateen_pred(CPURISCVState *env, int csrno, int base) in hstateen_pred() argument
508 RISCVException ret = hmode(env, csrno); in hstateen_pred()
518 if (!(env->mstateen[csrno - base] & SMSTATEEN_STATEEN)) { in hstateen_pred()
526 static RISCVException hstateen(CPURISCVState *env, int csrno) in hstateen() argument
528 return hstateen_pred(env, csrno, CSR_HSTATEEN0); in hstateen()
531 static RISCVException hstateenh(CPURISCVState *env, int csrno) in hstateenh() argument
533 return hstateen_pred(env, csrno, CSR_HSTATEEN0H); in hstateenh()
536 static RISCVException sstateen(CPURISCVState *env, int csrno) in sstateen() argument
539 int index = csrno - CSR_SSTATEEN0; in sstateen()
545 RISCVException ret = smode(env, csrno); in sstateen()
569 static RISCVException sstc(CPURISCVState *env, int csrno) in sstc() argument
577 if ((csrno == CSR_VSTIMECMP) || (csrno == CSR_VSTIMECMPH)) { in sstc()
581 RISCVException ret = hmode_check ? hmode(env, csrno) : smode(env, csrno); in sstc()
613 static RISCVException sstc_32(CPURISCVState *env, int csrno) in sstc_32() argument
619 return sstc(env, csrno); in sstc_32()
622 static RISCVException satp(CPURISCVState *env, int csrno) in satp() argument
633 return smode(env, csrno); in satp()
636 static RISCVException hgatp(CPURISCVState *env, int csrno) in hgatp() argument
643 return hmode(env, csrno); in hgatp()
661 static RISCVException ctr_mmode(CPURISCVState *env, int csrno) in ctr_mmode() argument
671 static RISCVException ctr_smode(CPURISCVState *env, int csrno) in ctr_smode() argument
680 if (ret == RISCV_EXCP_NONE && csrno == CSR_SCTRDEPTH && in ctr_smode()
688 static RISCVException aia_hmode(CPURISCVState *env, int csrno) in aia_hmode() argument
696 if (csrno == CSR_VSTOPEI) { in aia_hmode()
706 return hmode(env, csrno); in aia_hmode()
709 static RISCVException aia_hmode32(CPURISCVState *env, int csrno) in aia_hmode32() argument
726 return hmode32(env, csrno); in aia_hmode32()
729 static RISCVException dbltrp_hmode(CPURISCVState *env, int csrno) in dbltrp_hmode() argument
735 return hmode(env, csrno); in dbltrp_hmode()
738 static RISCVException pmp(CPURISCVState *env, int csrno) in pmp() argument
741 if (csrno <= CSR_PMPCFG3) { in pmp()
742 uint32_t reg_index = csrno - CSR_PMPCFG0; in pmp()
756 static RISCVException have_mseccfg(CPURISCVState *env, int csrno) in have_mseccfg() argument
771 static RISCVException debug(CPURISCVState *env, int csrno) in debug() argument
780 static RISCVException rnmi(CPURISCVState *env, int csrno) in rnmi() argument
792 static RISCVException seed(CPURISCVState *env, int csrno) in seed() argument
835 static RISCVException read_ssp(CPURISCVState *env, int csrno, in read_ssp() argument
842 static RISCVException write_ssp(CPURISCVState *env, int csrno, in write_ssp() argument
850 static RISCVException read_fflags(CPURISCVState *env, int csrno, in read_fflags() argument
857 static RISCVException write_fflags(CPURISCVState *env, int csrno, in write_fflags() argument
869 static RISCVException read_frm(CPURISCVState *env, int csrno, in read_frm() argument
876 static RISCVException write_frm(CPURISCVState *env, int csrno, in write_frm() argument
888 static RISCVException read_fcsr(CPURISCVState *env, int csrno, in read_fcsr() argument
896 static RISCVException write_fcsr(CPURISCVState *env, int csrno, in write_fcsr() argument
909 static RISCVException read_vtype(CPURISCVState *env, int csrno, in read_vtype() argument
927 static RISCVException read_vl(CPURISCVState *env, int csrno, in read_vl() argument
934 static RISCVException read_vlenb(CPURISCVState *env, int csrno, in read_vlenb() argument
941 static RISCVException read_vxrm(CPURISCVState *env, int csrno, in read_vxrm() argument
948 static RISCVException write_vxrm(CPURISCVState *env, int csrno, in write_vxrm() argument
958 static RISCVException read_vxsat(CPURISCVState *env, int csrno, in read_vxsat() argument
965 static RISCVException write_vxsat(CPURISCVState *env, int csrno, in write_vxsat() argument
975 static RISCVException read_vstart(CPURISCVState *env, int csrno, in read_vstart() argument
982 static RISCVException write_vstart(CPURISCVState *env, int csrno, in write_vstart() argument
996 static RISCVException read_vcsr(CPURISCVState *env, int csrno, in read_vcsr() argument
1003 static RISCVException write_vcsr(CPURISCVState *env, int csrno, in write_vcsr() argument
1024 static RISCVException read_time(CPURISCVState *env, int csrno, in read_time() argument
1031 static RISCVException read_timeh(CPURISCVState *env, int csrno, in read_timeh() argument
1038 static RISCVException read_hpmcounter(CPURISCVState *env, int csrno, in read_hpmcounter() argument
1045 static RISCVException read_hpmcounterh(CPURISCVState *env, int csrno, in read_hpmcounterh() argument
1054 static RISCVException read_mcyclecfg(CPURISCVState *env, int csrno, in read_mcyclecfg() argument
1061 static RISCVException write_mcyclecfg(CPURISCVState *env, int csrno, in write_mcyclecfg() argument
1083 static RISCVException read_mcyclecfgh(CPURISCVState *env, int csrno, in read_mcyclecfgh() argument
1090 static RISCVException write_mcyclecfgh(CPURISCVState *env, int csrno, in write_mcyclecfgh() argument
1108 static RISCVException read_minstretcfg(CPURISCVState *env, int csrno, in read_minstretcfg() argument
1115 static RISCVException write_minstretcfg(CPURISCVState *env, int csrno, in write_minstretcfg() argument
1135 static RISCVException read_minstretcfgh(CPURISCVState *env, int csrno, in read_minstretcfgh() argument
1142 static RISCVException write_minstretcfgh(CPURISCVState *env, int csrno, in write_minstretcfgh() argument
1159 static RISCVException read_mhpmevent(CPURISCVState *env, int csrno, in read_mhpmevent() argument
1162 int evt_index = csrno - CSR_MCOUNTINHIBIT; in read_mhpmevent()
1169 static RISCVException write_mhpmevent(CPURISCVState *env, int csrno, in write_mhpmevent() argument
1172 int evt_index = csrno - CSR_MCOUNTINHIBIT; in write_mhpmevent()
1197 static RISCVException read_mhpmeventh(CPURISCVState *env, int csrno, in read_mhpmeventh() argument
1200 int evt_index = csrno - CSR_MHPMEVENT3H + 3; in read_mhpmeventh()
1207 static RISCVException write_mhpmeventh(CPURISCVState *env, int csrno, in write_mhpmeventh() argument
1210 int evt_index = csrno - CSR_MHPMEVENT3H + 3; in write_mhpmeventh()
1350 static RISCVException write_mhpmcounter(CPURISCVState *env, int csrno, in write_mhpmcounter() argument
1353 int ctr_idx = csrno - CSR_MCYCLE; in write_mhpmcounter()
1358 static RISCVException write_mhpmcounterh(CPURISCVState *env, int csrno, in write_mhpmcounterh() argument
1361 int ctr_idx = csrno - CSR_MCYCLEH; in write_mhpmcounterh()
1399 static RISCVException read_hpmcounter(CPURISCVState *env, int csrno, in read_hpmcounter() argument
1404 if (csrno >= CSR_MCYCLE && csrno <= CSR_MHPMCOUNTER31) { in read_hpmcounter()
1405 ctr_index = csrno - CSR_MCYCLE; in read_hpmcounter()
1406 } else if (csrno >= CSR_CYCLE && csrno <= CSR_HPMCOUNTER31) { in read_hpmcounter()
1407 ctr_index = csrno - CSR_CYCLE; in read_hpmcounter()
1415 static RISCVException read_hpmcounterh(CPURISCVState *env, int csrno, in read_hpmcounterh() argument
1420 if (csrno >= CSR_MCYCLEH && csrno <= CSR_MHPMCOUNTER31H) { in read_hpmcounterh()
1421 ctr_index = csrno - CSR_MCYCLEH; in read_hpmcounterh()
1422 } else if (csrno >= CSR_CYCLEH && csrno <= CSR_HPMCOUNTER31H) { in read_hpmcounterh()
1423 ctr_index = csrno - CSR_CYCLEH; in read_hpmcounterh()
1592 static RISCVException read_scountovf(CPURISCVState *env, int csrno, in read_scountovf() argument
1627 static RISCVException read_time(CPURISCVState *env, int csrno, in read_time() argument
1640 static RISCVException read_timeh(CPURISCVState *env, int csrno, in read_timeh() argument
1653 static RISCVException read_vstimecmp(CPURISCVState *env, int csrno, in read_vstimecmp() argument
1661 static RISCVException read_vstimecmph(CPURISCVState *env, int csrno, in read_vstimecmph() argument
1669 static RISCVException write_vstimecmp(CPURISCVState *env, int csrno, in write_vstimecmp() argument
1684 static RISCVException write_vstimecmph(CPURISCVState *env, int csrno, in write_vstimecmph() argument
1694 static RISCVException read_stimecmp(CPURISCVState *env, int csrno, in read_stimecmp() argument
1706 static RISCVException read_stimecmph(CPURISCVState *env, int csrno, in read_stimecmph() argument
1718 static RISCVException write_stimecmp(CPURISCVState *env, int csrno, in write_stimecmp() argument
1725 return write_vstimecmp(env, csrno, val, ra); in write_stimecmp()
1739 static RISCVException write_stimecmph(CPURISCVState *env, int csrno, in write_stimecmph() argument
1746 return write_vstimecmph(env, csrno, val, ra); in write_stimecmph()
1843 static RISCVException read_zero(CPURISCVState *env, int csrno, in read_zero() argument
1850 static RISCVException write_ignore(CPURISCVState *env, int csrno, in write_ignore() argument
1856 static RISCVException read_mvendorid(CPURISCVState *env, int csrno, in read_mvendorid() argument
1863 static RISCVException read_marchid(CPURISCVState *env, int csrno, in read_marchid() argument
1870 static RISCVException read_mimpid(CPURISCVState *env, int csrno, in read_mimpid() argument
1877 static RISCVException read_mhartid(CPURISCVState *env, int csrno, in read_mhartid() argument
1906 static RISCVException read_mstatus(CPURISCVState *env, int csrno, in read_mstatus() argument
1976 static RISCVException write_mstatus(CPURISCVState *env, int csrno, in write_mstatus() argument
2048 static RISCVException read_mstatush(CPURISCVState *env, int csrno, in read_mstatush() argument
2055 static RISCVException write_mstatush(CPURISCVState *env, int csrno, in write_mstatush() argument
2072 static RISCVException read_mstatus_i128(CPURISCVState *env, int csrno, in read_mstatus_i128() argument
2080 static RISCVException read_misa_i128(CPURISCVState *env, int csrno, in read_misa_i128() argument
2087 static RISCVException read_misa(CPURISCVState *env, int csrno, in read_misa() argument
2122 static RISCVException write_misa(CPURISCVState *env, int csrno, in write_misa() argument
2176 static RISCVException read_medeleg(CPURISCVState *env, int csrno, in read_medeleg() argument
2183 static RISCVException write_medeleg(CPURISCVState *env, int csrno, in write_medeleg() argument
2190 static RISCVException rmw_mideleg64(CPURISCVState *env, int csrno, in rmw_mideleg64() argument
2209 static RISCVException rmw_mideleg(CPURISCVState *env, int csrno, in rmw_mideleg() argument
2216 ret = rmw_mideleg64(env, csrno, &rval, new_val, wr_mask); in rmw_mideleg()
2224 static RISCVException rmw_midelegh(CPURISCVState *env, int csrno, in rmw_midelegh() argument
2232 ret = rmw_mideleg64(env, csrno, &rval, in rmw_midelegh()
2241 static RISCVException rmw_mie64(CPURISCVState *env, int csrno, in rmw_mie64() argument
2260 static RISCVException rmw_mie(CPURISCVState *env, int csrno, in rmw_mie() argument
2267 ret = rmw_mie64(env, csrno, &rval, new_val, wr_mask); in rmw_mie()
2275 static RISCVException rmw_mieh(CPURISCVState *env, int csrno, in rmw_mieh() argument
2282 ret = rmw_mie64(env, csrno, &rval, in rmw_mieh()
2291 static RISCVException rmw_mvien64(CPURISCVState *env, int csrno, in rmw_mvien64() argument
2306 static RISCVException rmw_mvien(CPURISCVState *env, int csrno, in rmw_mvien() argument
2313 ret = rmw_mvien64(env, csrno, &rval, new_val, wr_mask); in rmw_mvien()
2321 static RISCVException rmw_mvienh(CPURISCVState *env, int csrno, in rmw_mvienh() argument
2328 ret = rmw_mvien64(env, csrno, &rval, in rmw_mvienh()
2337 static RISCVException read_mtopi(CPURISCVState *env, int csrno, in read_mtopi() argument
2360 static int aia_xlate_vs_csrno(CPURISCVState *env, int csrno) in aia_xlate_vs_csrno() argument
2363 return csrno; in aia_xlate_vs_csrno()
2366 switch (csrno) { in aia_xlate_vs_csrno()
2374 return csrno; in aia_xlate_vs_csrno()
2378 static int csrind_xlate_vs_csrno(CPURISCVState *env, int csrno) in csrind_xlate_vs_csrno() argument
2381 return csrno; in csrind_xlate_vs_csrno()
2384 switch (csrno) { in csrind_xlate_vs_csrno()
2393 return CSR_VSIREG + (csrno - CSR_SIREG); in csrind_xlate_vs_csrno()
2395 return csrno; in csrind_xlate_vs_csrno()
2399 static RISCVException rmw_xiselect(CPURISCVState *env, int csrno, in rmw_xiselect() argument
2412 csrno = csrind_xlate_vs_csrno(env, csrno); in rmw_xiselect()
2415 switch (csrno) { in rmw_xiselect()
2457 static bool xiselect_ctr_range(int csrno, target_ulong isel) in xiselect_ctr_range() argument
2461 csrno < CSR_MIREG; in xiselect_ctr_range()
2627 static RISCVException rmw_xireg_aia(CPURISCVState *env, int csrno, in rmw_xireg_aia() argument
2637 switch (csrno) { in rmw_xireg_aia()
2707 static int rmw_xireg_cd(CPURISCVState *env, int csrno, in rmw_xireg_cd() argument
2726 if (((csrno == CSR_SIREG5) || (csrno == CSR_SIREG4)) && in rmw_xireg_cd()
2733 if (!riscv_cpu_cfg(env)->ext_sscofpmf && csrno == CSR_SIREG5 && in rmw_xireg_cd()
2740 (csrno == CSR_SIREG2 || csrno == CSR_SIREG5) && in rmw_xireg_cd()
2750 switch (csrno) { in rmw_xireg_cd()
2779 static int rmw_xireg_ctr(CPURISCVState *env, int csrno, in rmw_xireg_ctr() argument
2787 if (csrno == CSR_SIREG || csrno == CSR_VSIREG) { in rmw_xireg_ctr()
2789 } else if (csrno == CSR_SIREG2 || csrno == CSR_VSIREG2) { in rmw_xireg_ctr()
2791 } else if (csrno == CSR_SIREG3 || csrno == CSR_VSIREG3) { in rmw_xireg_ctr()
2807 static int rmw_xireg_csrind(CPURISCVState *env, int csrno, in rmw_xireg_csrind() argument
2811 bool virt = csrno == CSR_VSIREG ? true : false; in rmw_xireg_csrind()
2815 ret = rmw_xireg_cd(env, csrno, isel, val, new_val, wr_mask); in rmw_xireg_csrind()
2816 } else if (xiselect_ctr_range(csrno, isel)) { in rmw_xireg_csrind()
2817 ret = rmw_xireg_ctr(env, csrno, isel, val, new_val, wr_mask); in rmw_xireg_csrind()
2834 static int rmw_xiregi(CPURISCVState *env, int csrno, target_ulong *val, in rmw_xiregi() argument
2846 csrno = csrind_xlate_vs_csrno(env, csrno); in rmw_xiregi()
2848 if (CSR_MIREG <= csrno && csrno <= CSR_MIREG6 && in rmw_xiregi()
2849 csrno != CSR_MIREG4 - 1) { in rmw_xiregi()
2851 } else if (CSR_SIREG <= csrno && csrno <= CSR_SIREG6 && in rmw_xiregi()
2852 csrno != CSR_SIREG4 - 1) { in rmw_xiregi()
2854 } else if (CSR_VSIREG <= csrno && csrno <= CSR_VSIREG6 && in rmw_xiregi()
2855 csrno != CSR_VSIREG4 - 1) { in rmw_xiregi()
2861 return rmw_xireg_csrind(env, csrno, isel, val, new_val, wr_mask); in rmw_xiregi()
2864 static RISCVException rmw_xireg(CPURISCVState *env, int csrno, in rmw_xireg() argument
2877 csrno = csrind_xlate_vs_csrno(env, csrno); in rmw_xireg()
2880 switch (csrno) { in rmw_xireg()
2903 return rmw_xireg_aia(env, csrno, isel, val, new_val, wr_mask); in rmw_xireg()
2906 return rmw_xireg_csrind(env, csrno, isel, val, new_val, wr_mask); in rmw_xireg()
2913 static RISCVException rmw_xtopei(CPURISCVState *env, int csrno, in rmw_xtopei() argument
2922 csrno = aia_xlate_vs_csrno(env, csrno); in rmw_xtopei()
2926 switch (csrno) { in rmw_xtopei()
2971 static RISCVException read_mtvec(CPURISCVState *env, int csrno, in read_mtvec() argument
2978 static RISCVException write_mtvec(CPURISCVState *env, int csrno, in write_mtvec() argument
2990 static RISCVException read_mcountinhibit(CPURISCVState *env, int csrno, in read_mcountinhibit() argument
2997 static RISCVException write_mcountinhibit(CPURISCVState *env, int csrno, in write_mcountinhibit() argument
3064 static RISCVException read_scountinhibit(CPURISCVState *env, int csrno, in read_scountinhibit() argument
3072 static RISCVException write_scountinhibit(CPURISCVState *env, int csrno, in write_scountinhibit() argument
3075 return write_mcountinhibit(env, csrno, val & env->mcounteren, ra); in write_scountinhibit()
3078 static RISCVException read_mcounteren(CPURISCVState *env, int csrno, in read_mcounteren() argument
3085 static RISCVException write_mcounteren(CPURISCVState *env, int csrno, in write_mcounteren() argument
3097 static RISCVException read_mscratch_i128(CPURISCVState *env, int csrno, in read_mscratch_i128() argument
3104 static RISCVException write_mscratch_i128(CPURISCVState *env, int csrno, in write_mscratch_i128() argument
3112 static RISCVException read_mscratch(CPURISCVState *env, int csrno, in read_mscratch() argument
3119 static RISCVException write_mscratch(CPURISCVState *env, int csrno, in write_mscratch() argument
3126 static RISCVException read_mepc(CPURISCVState *env, int csrno, in read_mepc() argument
3133 static RISCVException write_mepc(CPURISCVState *env, int csrno, in write_mepc() argument
3140 static RISCVException read_mcause(CPURISCVState *env, int csrno, in read_mcause() argument
3147 static RISCVException write_mcause(CPURISCVState *env, int csrno, in write_mcause() argument
3154 static RISCVException read_mtval(CPURISCVState *env, int csrno, in read_mtval() argument
3161 static RISCVException write_mtval(CPURISCVState *env, int csrno, in write_mtval() argument
3169 static RISCVException read_menvcfg(CPURISCVState *env, int csrno, in read_menvcfg() argument
3176 static RISCVException write_henvcfg(CPURISCVState *env, int csrno,
3178 static RISCVException write_menvcfg(CPURISCVState *env, int csrno, in write_menvcfg() argument
3214 static RISCVException read_menvcfgh(CPURISCVState *env, int csrno, in read_menvcfgh() argument
3221 static RISCVException write_henvcfgh(CPURISCVState *env, int csrno,
3223 static RISCVException write_menvcfgh(CPURISCVState *env, int csrno, in write_menvcfgh() argument
3242 static RISCVException read_senvcfg(CPURISCVState *env, int csrno, in read_senvcfg() argument
3256 static RISCVException write_senvcfg(CPURISCVState *env, int csrno, in write_senvcfg() argument
3292 static RISCVException read_henvcfg(CPURISCVState *env, int csrno, in read_henvcfg() argument
3313 static RISCVException write_henvcfg(CPURISCVState *env, int csrno, in write_henvcfg() argument
3353 static RISCVException read_henvcfgh(CPURISCVState *env, int csrno, in read_henvcfgh() argument
3368 static RISCVException write_henvcfgh(CPURISCVState *env, int csrno, in write_henvcfgh() argument
3387 static RISCVException read_mstateen(CPURISCVState *env, int csrno, in read_mstateen() argument
3390 *val = env->mstateen[csrno - CSR_MSTATEEN0]; in read_mstateen()
3395 static RISCVException write_mstateen(CPURISCVState *env, int csrno, in write_mstateen() argument
3400 reg = &env->mstateen[csrno - CSR_MSTATEEN0]; in write_mstateen()
3406 static RISCVException write_mstateen0(CPURISCVState *env, int csrno, in write_mstateen0() argument
3435 return write_mstateen(env, csrno, wr_mask, new_val); in write_mstateen0()
3438 static RISCVException write_mstateen_1_3(CPURISCVState *env, int csrno, in write_mstateen_1_3() argument
3441 return write_mstateen(env, csrno, SMSTATEEN_STATEEN, new_val); in write_mstateen_1_3()
3444 static RISCVException read_mstateenh(CPURISCVState *env, int csrno, in read_mstateenh() argument
3447 *val = env->mstateen[csrno - CSR_MSTATEEN0H] >> 32; in read_mstateenh()
3452 static RISCVException write_mstateenh(CPURISCVState *env, int csrno, in write_mstateenh() argument
3457 reg = &env->mstateen[csrno - CSR_MSTATEEN0H]; in write_mstateenh()
3465 static RISCVException write_mstateen0h(CPURISCVState *env, int csrno, in write_mstateen0h() argument
3478 return write_mstateenh(env, csrno, wr_mask, new_val); in write_mstateen0h()
3481 static RISCVException write_mstateenh_1_3(CPURISCVState *env, int csrno, in write_mstateenh_1_3() argument
3484 return write_mstateenh(env, csrno, SMSTATEEN_STATEEN, new_val); in write_mstateenh_1_3()
3487 static RISCVException read_hstateen(CPURISCVState *env, int csrno, in read_hstateen() argument
3490 int index = csrno - CSR_HSTATEEN0; in read_hstateen()
3497 static RISCVException write_hstateen(CPURISCVState *env, int csrno, in write_hstateen() argument
3500 int index = csrno - CSR_HSTATEEN0; in write_hstateen()
3510 static RISCVException write_hstateen0(CPURISCVState *env, int csrno, in write_hstateen0() argument
3536 return write_hstateen(env, csrno, wr_mask, new_val); in write_hstateen0()
3539 static RISCVException write_hstateen_1_3(CPURISCVState *env, int csrno, in write_hstateen_1_3() argument
3542 return write_hstateen(env, csrno, SMSTATEEN_STATEEN, new_val); in write_hstateen_1_3()
3545 static RISCVException read_hstateenh(CPURISCVState *env, int csrno, in read_hstateenh() argument
3548 int index = csrno - CSR_HSTATEEN0H; in read_hstateenh()
3555 static RISCVException write_hstateenh(CPURISCVState *env, int csrno, in write_hstateenh() argument
3558 int index = csrno - CSR_HSTATEEN0H; in write_hstateenh()
3570 static RISCVException write_hstateen0h(CPURISCVState *env, int csrno, in write_hstateen0h() argument
3579 return write_hstateenh(env, csrno, wr_mask, new_val); in write_hstateen0h()
3582 static RISCVException write_hstateenh_1_3(CPURISCVState *env, int csrno, in write_hstateenh_1_3() argument
3585 return write_hstateenh(env, csrno, SMSTATEEN_STATEEN, new_val); in write_hstateenh_1_3()
3588 static RISCVException read_sstateen(CPURISCVState *env, int csrno, in read_sstateen() argument
3592 int index = csrno - CSR_SSTATEEN0; in read_sstateen()
3602 static RISCVException write_sstateen(CPURISCVState *env, int csrno, in write_sstateen() argument
3606 int index = csrno - CSR_SSTATEEN0; in write_sstateen()
3621 static RISCVException write_sstateen0(CPURISCVState *env, int csrno, in write_sstateen0() argument
3630 return write_sstateen(env, csrno, wr_mask, new_val); in write_sstateen0()
3633 static RISCVException write_sstateen_1_3(CPURISCVState *env, int csrno, in write_sstateen_1_3() argument
3636 return write_sstateen(env, csrno, SMSTATEEN_STATEEN, new_val); in write_sstateen_1_3()
3639 static RISCVException rmw_mip64(CPURISCVState *env, int csrno, in rmw_mip64() argument
3663 if (csrno != CSR_HVIP) { in rmw_mip64()
3676 static RISCVException rmw_mip(CPURISCVState *env, int csrno, in rmw_mip() argument
3683 ret = rmw_mip64(env, csrno, &rval, new_val, wr_mask); in rmw_mip()
3691 static RISCVException rmw_miph(CPURISCVState *env, int csrno, in rmw_miph() argument
3698 ret = rmw_mip64(env, csrno, &rval, in rmw_miph()
3718 static RISCVException rmw_mvip64(CPURISCVState *env, int csrno, in rmw_mvip64() argument
3760 if (csrno == CSR_SIP) { in rmw_mvip64()
3813 static RISCVException rmw_mvip(CPURISCVState *env, int csrno, in rmw_mvip() argument
3820 ret = rmw_mvip64(env, csrno, &rval, new_val, wr_mask); in rmw_mvip()
3828 static RISCVException rmw_mviph(CPURISCVState *env, int csrno, in rmw_mviph() argument
3835 ret = rmw_mvip64(env, csrno, &rval, in rmw_mviph()
3845 static RISCVException read_sstatus_i128(CPURISCVState *env, int csrno, in read_sstatus_i128() argument
3865 static RISCVException read_sstatus(CPURISCVState *env, int csrno, in read_sstatus() argument
3884 static RISCVException write_sstatus(CPURISCVState *env, int csrno, in write_sstatus() argument
3905 static RISCVException rmw_vsie64(CPURISCVState *env, int csrno, in rmw_vsie64() argument
3929 ret = rmw_mie64(env, csrno, &rval, new_val, wr_mask_mie); in rmw_vsie64()
3944 static RISCVException rmw_vsie(CPURISCVState *env, int csrno, in rmw_vsie() argument
3951 ret = rmw_vsie64(env, csrno, &rval, new_val, wr_mask); in rmw_vsie()
3959 static RISCVException rmw_vsieh(CPURISCVState *env, int csrno, in rmw_vsieh() argument
3966 ret = rmw_vsie64(env, csrno, &rval, in rmw_vsieh()
3975 static RISCVException rmw_sie64(CPURISCVState *env, int csrno, in rmw_sie64() argument
4003 ret = rmw_mie64(env, csrno, ret_val, new_val, wr_mask & alias_mask); in rmw_sie64()
4015 static RISCVException rmw_sie(CPURISCVState *env, int csrno, in rmw_sie() argument
4022 ret = rmw_sie64(env, csrno, &rval, new_val, wr_mask); in rmw_sie()
4030 static RISCVException rmw_sieh(CPURISCVState *env, int csrno, in rmw_sieh() argument
4037 ret = rmw_sie64(env, csrno, &rval, in rmw_sieh()
4046 static RISCVException read_stvec(CPURISCVState *env, int csrno, in read_stvec() argument
4053 static RISCVException write_stvec(CPURISCVState *env, int csrno, in write_stvec() argument
4065 static RISCVException read_scounteren(CPURISCVState *env, int csrno, in read_scounteren() argument
4072 static RISCVException write_scounteren(CPURISCVState *env, int csrno, in write_scounteren() argument
4084 static RISCVException read_sscratch_i128(CPURISCVState *env, int csrno, in read_sscratch_i128() argument
4091 static RISCVException write_sscratch_i128(CPURISCVState *env, int csrno, in write_sscratch_i128() argument
4099 static RISCVException read_sscratch(CPURISCVState *env, int csrno, in read_sscratch() argument
4106 static RISCVException write_sscratch(CPURISCVState *env, int csrno, in write_sscratch() argument
4113 static RISCVException read_sepc(CPURISCVState *env, int csrno, in read_sepc() argument
4120 static RISCVException write_sepc(CPURISCVState *env, int csrno, in write_sepc() argument
4127 static RISCVException read_scause(CPURISCVState *env, int csrno, in read_scause() argument
4134 static RISCVException write_scause(CPURISCVState *env, int csrno, in write_scause() argument
4141 static RISCVException read_stval(CPURISCVState *env, int csrno, in read_stval() argument
4148 static RISCVException write_stval(CPURISCVState *env, int csrno, in write_stval() argument
4155 static RISCVException rmw_hvip64(CPURISCVState *env, int csrno,
4159 static RISCVException rmw_vsip64(CPURISCVState *env, int csrno, in rmw_vsip64() argument
4178 ret = rmw_hvip64(env, csrno, &rval, new_val, in rmw_vsip64()
4190 static RISCVException rmw_vsip(CPURISCVState *env, int csrno, in rmw_vsip() argument
4197 ret = rmw_vsip64(env, csrno, &rval, new_val, wr_mask); in rmw_vsip()
4205 static RISCVException rmw_vsiph(CPURISCVState *env, int csrno, in rmw_vsiph() argument
4212 ret = rmw_vsip64(env, csrno, &rval, in rmw_vsiph()
4221 static RISCVException rmw_sip64(CPURISCVState *env, int csrno, in rmw_sip64() argument
4234 ret = rmw_mvip64(env, csrno, ret_val, new_val, wr_mask & mask); in rmw_sip64()
4245 static RISCVException rmw_sip(CPURISCVState *env, int csrno, in rmw_sip() argument
4252 ret = rmw_sip64(env, csrno, &rval, new_val, wr_mask); in rmw_sip()
4260 static RISCVException rmw_siph(CPURISCVState *env, int csrno, in rmw_siph() argument
4267 ret = rmw_sip64(env, csrno, &rval, in rmw_siph()
4277 static RISCVException read_satp(CPURISCVState *env, int csrno, in read_satp() argument
4288 static RISCVException write_satp(CPURISCVState *env, int csrno, in write_satp() argument
4299 static RISCVException rmw_sctrdepth(CPURISCVState *env, int csrno, in rmw_sctrdepth() argument
4329 static RISCVException rmw_sctrstatus(CPURISCVState *env, int csrno, in rmw_sctrstatus() argument
4348 static RISCVException rmw_xctrctl(CPURISCVState *env, int csrno, in rmw_xctrctl() argument
4355 if (csrno == CSR_MCTRCTL) { in rmw_xctrctl()
4357 } else if (csrno == CSR_SCTRCTL && !env->virt_enabled) { in rmw_xctrctl()
4379 static RISCVException read_vstopi(CPURISCVState *env, int csrno, in read_vstopi() argument
4469 static RISCVException read_stopi(CPURISCVState *env, int csrno, in read_stopi() argument
4497 static RISCVException read_hstatus(CPURISCVState *env, int csrno, in read_hstatus() argument
4510 static RISCVException write_hstatus(CPURISCVState *env, int csrno, in write_hstatus() argument
4535 static RISCVException read_hedeleg(CPURISCVState *env, int csrno, in read_hedeleg() argument
4542 static RISCVException write_hedeleg(CPURISCVState *env, int csrno, in write_hedeleg() argument
4549 static RISCVException read_hedelegh(CPURISCVState *env, int csrno, in read_hedelegh() argument
4563 static RISCVException write_hedelegh(CPURISCVState *env, int csrno, in write_hedelegh() argument
4576 static RISCVException rmw_hvien64(CPURISCVState *env, int csrno, in rmw_hvien64() argument
4591 static RISCVException rmw_hvien(CPURISCVState *env, int csrno, in rmw_hvien() argument
4598 ret = rmw_hvien64(env, csrno, &rval, new_val, wr_mask); in rmw_hvien()
4606 static RISCVException rmw_hvienh(CPURISCVState *env, int csrno, in rmw_hvienh() argument
4613 ret = rmw_hvien64(env, csrno, &rval, in rmw_hvienh()
4622 static RISCVException rmw_hideleg64(CPURISCVState *env, int csrno, in rmw_hideleg64() argument
4636 static RISCVException rmw_hideleg(CPURISCVState *env, int csrno, in rmw_hideleg() argument
4643 ret = rmw_hideleg64(env, csrno, &rval, new_val, wr_mask); in rmw_hideleg()
4651 static RISCVException rmw_hidelegh(CPURISCVState *env, int csrno, in rmw_hidelegh() argument
4658 ret = rmw_hideleg64(env, csrno, &rval, in rmw_hidelegh()
4676 static RISCVException rmw_hvip64(CPURISCVState *env, int csrno, in rmw_hvip64() argument
4713 if (csrno == CSR_VSIP) { in rmw_hvip64()
4730 ret = rmw_mip64(env, csrno, &ret_mip, new_val, wr_mask_mip); in rmw_hvip64()
4760 static RISCVException rmw_hvip(CPURISCVState *env, int csrno, in rmw_hvip() argument
4767 ret = rmw_hvip64(env, csrno, &rval, new_val, wr_mask); in rmw_hvip()
4775 static RISCVException rmw_hviph(CPURISCVState *env, int csrno, in rmw_hviph() argument
4782 ret = rmw_hvip64(env, csrno, &rval, in rmw_hviph()
4791 static RISCVException rmw_hip(CPURISCVState *env, int csrno, in rmw_hip() argument
4795 int ret = rmw_mip(env, csrno, ret_value, new_value, in rmw_hip()
4804 static RISCVException rmw_hie(CPURISCVState *env, int csrno, in rmw_hie() argument
4811 ret = rmw_mie64(env, csrno, &rval, new_val, wr_mask & HS_MODE_INTERRUPTS); in rmw_hie()
4819 static RISCVException read_hcounteren(CPURISCVState *env, int csrno, in read_hcounteren() argument
4826 static RISCVException write_hcounteren(CPURISCVState *env, int csrno, in write_hcounteren() argument
4837 static RISCVException read_hgeie(CPURISCVState *env, int csrno, in read_hgeie() argument
4846 static RISCVException write_hgeie(CPURISCVState *env, int csrno, in write_hgeie() argument
4858 static RISCVException read_htval(CPURISCVState *env, int csrno, in read_htval() argument
4865 static RISCVException write_htval(CPURISCVState *env, int csrno, in write_htval() argument
4872 static RISCVException read_htinst(CPURISCVState *env, int csrno, in read_htinst() argument
4879 static RISCVException write_htinst(CPURISCVState *env, int csrno, in write_htinst() argument
4885 static RISCVException read_hgeip(CPURISCVState *env, int csrno, in read_hgeip() argument
4894 static RISCVException read_hgatp(CPURISCVState *env, int csrno, in read_hgatp() argument
4901 static RISCVException write_hgatp(CPURISCVState *env, int csrno, in write_hgatp() argument
4908 static RISCVException read_htimedelta(CPURISCVState *env, int csrno, in read_htimedelta() argument
4919 static RISCVException write_htimedelta(CPURISCVState *env, int csrno, in write_htimedelta() argument
4940 static RISCVException read_htimedeltah(CPURISCVState *env, int csrno, in read_htimedeltah() argument
4951 static RISCVException write_htimedeltah(CPURISCVState *env, int csrno, in write_htimedeltah() argument
4968 static RISCVException read_hvictl(CPURISCVState *env, int csrno, in read_hvictl() argument
4975 static RISCVException write_hvictl(CPURISCVState *env, int csrno, in write_hvictl() argument
5034 static RISCVException read_hviprio1(CPURISCVState *env, int csrno, in read_hviprio1() argument
5040 static RISCVException write_hviprio1(CPURISCVState *env, int csrno, in write_hviprio1() argument
5046 static RISCVException read_hviprio1h(CPURISCVState *env, int csrno, in read_hviprio1h() argument
5052 static RISCVException write_hviprio1h(CPURISCVState *env, int csrno, in write_hviprio1h() argument
5058 static RISCVException read_hviprio2(CPURISCVState *env, int csrno, in read_hviprio2() argument
5064 static RISCVException write_hviprio2(CPURISCVState *env, int csrno, in write_hviprio2() argument
5070 static RISCVException read_hviprio2h(CPURISCVState *env, int csrno, in read_hviprio2h() argument
5076 static RISCVException write_hviprio2h(CPURISCVState *env, int csrno, in write_hviprio2h() argument
5083 static RISCVException read_vsstatus(CPURISCVState *env, int csrno, in read_vsstatus() argument
5090 static RISCVException write_vsstatus(CPURISCVState *env, int csrno, in write_vsstatus() argument
5108 static RISCVException read_vstvec(CPURISCVState *env, int csrno, in read_vstvec() argument
5115 static RISCVException write_vstvec(CPURISCVState *env, int csrno, in write_vstvec() argument
5127 static RISCVException read_vsscratch(CPURISCVState *env, int csrno, in read_vsscratch() argument
5134 static RISCVException write_vsscratch(CPURISCVState *env, int csrno, in write_vsscratch() argument
5141 static RISCVException read_vsepc(CPURISCVState *env, int csrno, in read_vsepc() argument
5148 static RISCVException write_vsepc(CPURISCVState *env, int csrno, in write_vsepc() argument
5155 static RISCVException read_vscause(CPURISCVState *env, int csrno, in read_vscause() argument
5162 static RISCVException write_vscause(CPURISCVState *env, int csrno, in write_vscause() argument
5169 static RISCVException read_vstval(CPURISCVState *env, int csrno, in read_vstval() argument
5176 static RISCVException write_vstval(CPURISCVState *env, int csrno, in write_vstval() argument
5183 static RISCVException read_vsatp(CPURISCVState *env, int csrno, in read_vsatp() argument
5190 static RISCVException write_vsatp(CPURISCVState *env, int csrno, in write_vsatp() argument
5197 static RISCVException read_mtval2(CPURISCVState *env, int csrno, in read_mtval2() argument
5204 static RISCVException write_mtval2(CPURISCVState *env, int csrno, in write_mtval2() argument
5211 static RISCVException read_mtinst(CPURISCVState *env, int csrno, in read_mtinst() argument
5218 static RISCVException write_mtinst(CPURISCVState *env, int csrno, in write_mtinst() argument
5226 static RISCVException read_mseccfg(CPURISCVState *env, int csrno, in read_mseccfg() argument
5233 static RISCVException write_mseccfg(CPURISCVState *env, int csrno, in write_mseccfg() argument
5240 static RISCVException read_pmpcfg(CPURISCVState *env, int csrno, in read_pmpcfg() argument
5243 uint32_t reg_index = csrno - CSR_PMPCFG0; in read_pmpcfg()
5249 static RISCVException write_pmpcfg(CPURISCVState *env, int csrno, in write_pmpcfg() argument
5252 uint32_t reg_index = csrno - CSR_PMPCFG0; in write_pmpcfg()
5258 static RISCVException read_pmpaddr(CPURISCVState *env, int csrno, in read_pmpaddr() argument
5261 *val = pmpaddr_csr_read(env, csrno - CSR_PMPADDR0); in read_pmpaddr()
5265 static RISCVException write_pmpaddr(CPURISCVState *env, int csrno, in write_pmpaddr() argument
5268 pmpaddr_csr_write(env, csrno - CSR_PMPADDR0, val); in write_pmpaddr()
5272 static RISCVException read_tselect(CPURISCVState *env, int csrno, in read_tselect() argument
5279 static RISCVException write_tselect(CPURISCVState *env, int csrno, in write_tselect() argument
5286 static RISCVException read_tdata(CPURISCVState *env, int csrno, in read_tdata() argument
5290 if (env->trigger_cur >= RV_MAX_TRIGGERS && csrno == CSR_TDATA1) { in read_tdata()
5295 if (!tdata_available(env, csrno - CSR_TDATA1)) { in read_tdata()
5299 *val = tdata_csr_read(env, csrno - CSR_TDATA1); in read_tdata()
5303 static RISCVException write_tdata(CPURISCVState *env, int csrno, in write_tdata() argument
5306 if (!tdata_available(env, csrno - CSR_TDATA1)) { in write_tdata()
5310 tdata_csr_write(env, csrno - CSR_TDATA1, val); in write_tdata()
5314 static RISCVException read_tinfo(CPURISCVState *env, int csrno, in read_tinfo() argument
5321 static RISCVException read_mcontext(CPURISCVState *env, int csrno, in read_mcontext() argument
5328 static RISCVException write_mcontext(CPURISCVState *env, int csrno, in write_mcontext() argument
5346 static RISCVException read_mnscratch(CPURISCVState *env, int csrno, in read_mnscratch() argument
5353 static RISCVException write_mnscratch(CPURISCVState *env, int csrno, in write_mnscratch() argument
5360 static RISCVException read_mnepc(CPURISCVState *env, int csrno, in read_mnepc() argument
5367 static RISCVException write_mnepc(CPURISCVState *env, int csrno, in write_mnepc() argument
5374 static RISCVException read_mncause(CPURISCVState *env, int csrno, in read_mncause() argument
5381 static RISCVException write_mncause(CPURISCVState *env, int csrno, in write_mncause() argument
5388 static RISCVException read_mnstatus(CPURISCVState *env, int csrno, in read_mnstatus() argument
5395 static RISCVException write_mnstatus(CPURISCVState *env, int csrno, in write_mnstatus() argument
5445 static RISCVException rmw_seed(CPURISCVState *env, int csrno, in rmw_seed() argument
5471 int csrno, in riscv_csrrw_check() argument
5475 bool read_only = get_field(csrno, 0xC00) == 3; in riscv_csrrw_check()
5476 int csr_min_priv = csr_ops[csrno].min_priv_ver; in riscv_csrrw_check()
5484 if (!csr_ops[csrno].predicate) { in riscv_csrrw_check()
5505 RISCVException ret = csr_ops[csrno].predicate(env, csrno); in riscv_csrrw_check()
5522 csr_priv = get_field(csrno, 0x300); in riscv_csrrw_check()
5533 static RISCVException riscv_csrrw_do64(CPURISCVState *env, int csrno, in riscv_csrrw_do64() argument
5543 if (csr_ops[csrno].op) { in riscv_csrrw_do64()
5544 return csr_ops[csrno].op(env, csrno, ret_value, new_value, write_mask); in riscv_csrrw_do64()
5553 if (!csr_ops[csrno].read) { in riscv_csrrw_do64()
5557 ret = csr_ops[csrno].read(env, csrno, &old_value); in riscv_csrrw_do64()
5566 if (csr_ops[csrno].write) { in riscv_csrrw_do64()
5567 ret = csr_ops[csrno].write(env, csrno, new_value, ra); in riscv_csrrw_do64()
5582 RISCVException riscv_csrr(CPURISCVState *env, int csrno, in riscv_csrr() argument
5585 RISCVException ret = riscv_csrrw_check(env, csrno, false); in riscv_csrr()
5590 return riscv_csrrw_do64(env, csrno, ret_value, 0, 0, 0); in riscv_csrr()
5593 RISCVException riscv_csrrw(CPURISCVState *env, int csrno, in riscv_csrrw() argument
5597 RISCVException ret = riscv_csrrw_check(env, csrno, true); in riscv_csrrw()
5602 return riscv_csrrw_do64(env, csrno, ret_value, new_value, write_mask, ra); in riscv_csrrw()
5605 static RISCVException riscv_csrrw_do128(CPURISCVState *env, int csrno, in riscv_csrrw_do128() argument
5614 ret = csr_ops[csrno].read128(env, csrno, &old_value); in riscv_csrrw_do128()
5623 if (csr_ops[csrno].write128) { in riscv_csrrw_do128()
5624 ret = csr_ops[csrno].write128(env, csrno, new_value); in riscv_csrrw_do128()
5628 } else if (csr_ops[csrno].write) { in riscv_csrrw_do128()
5630 ret = csr_ops[csrno].write(env, csrno, int128_getlo(new_value), ra); in riscv_csrrw_do128()
5645 RISCVException riscv_csrr_i128(CPURISCVState *env, int csrno, in riscv_csrr_i128() argument
5650 ret = riscv_csrrw_check(env, csrno, false); in riscv_csrr_i128()
5655 if (csr_ops[csrno].read128) { in riscv_csrr_i128()
5656 return riscv_csrrw_do128(env, csrno, ret_value, in riscv_csrr_i128()
5668 ret = riscv_csrrw_do64(env, csrno, &old_value, 0, 0, 0); in riscv_csrr_i128()
5675 RISCVException riscv_csrrw_i128(CPURISCVState *env, int csrno, in riscv_csrrw_i128() argument
5681 ret = riscv_csrrw_check(env, csrno, true); in riscv_csrrw_i128()
5686 if (csr_ops[csrno].read128) { in riscv_csrrw_i128()
5687 return riscv_csrrw_do128(env, csrno, ret_value, in riscv_csrrw_i128()
5699 ret = riscv_csrrw_do64(env, csrno, &old_value, in riscv_csrrw_i128()
5712 RISCVException riscv_csrrw_debug(CPURISCVState *env, int csrno, in riscv_csrrw_debug() argument
5722 ret = riscv_csrr(env, csrno, ret_value); in riscv_csrrw_debug()
5724 ret = riscv_csrrw(env, csrno, ret_value, new_value, write_mask, 0); in riscv_csrrw_debug()
5732 static RISCVException read_jvt(CPURISCVState *env, int csrno, in read_jvt() argument
5739 static RISCVException write_jvt(CPURISCVState *env, int csrno, in write_jvt() argument