aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/cbo_inval.h
blob: db13da9ce10ad71656aadbc6e2b50bee0bb0aaa4 (plain)
1
2
3
4
5
6
7
8
9
require_extension(EXT_ZICBOM);
DECLARE_XENVCFG_VARS(CBIE);
require_envcfg(CBIE);
if ((STATE.prv != PRV_M && mCBIE) ||
    (!STATE.v && STATE.prv == PRV_U && sCBIE) ||
    (STATE.v && (hCBIE || (STATE.prv == PRV_U && sCBIE))))
  MMU.clean_inval(RS1, true, true);
else
  MMU.clean_inval(RS1, false, true);