它是用户态普通指令吗?
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
Svinval 排序指令:保证之前的 SINVAL/HINVAL 失效先于后续隐式页表引用。
SFENCE.INVAL.IR 是 Svinval 的无操作数字段排序指令。它保证当前 hart 之前执行的 SINVAL.VMA、HINVAL.VVMA 或 HINVAL.GVMA 失效操作,先于该 hart 后续对内存管理数据结构的隐式引用。典型序列是 SFENCE.W.INVAL -> 一串 SINVAL/HINVAL -> SFENCE.INVAL.IR。
SFENCE.INVAL.IR 是特权架构定义的系统级指令,页面说明只覆盖官方规定的架构语义,不推断平台固件策略。
结合 «sfence.inval.ir» 等实际代码理解该场景。
结合 «sfence.inval.ir» 等实际代码理解该场景。
结合 «sfence.inval.ir» 等实际代码理解该场景。
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
不能简单替代。地址转换、指令获取和数据内存排序分别有不同的 fence/失效指令。