它是用户态普通指令吗?
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
从调试模式(D-mode)返回:PC←dpc,恢复特权模式。仅在D-mode可执行。
DRET 从调试模式(D-mode)返回正常执行。操作:①PC←dpc(调试程序计数器);②恢复进入调试模式前的特权模式。仅在D-mode可执行。DRET不含中断使能恢复等xRET语义——调试模式不通过mstatus管理中断使能。
DRET 是调试规范定义的系统级指令,页面说明只覆盖官方规定的架构语义,不推断平台固件策略。
结合 «dret» 等实际代码理解该场景。
结合 «dret» 等实际代码理解该场景。
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
不能简单替代。地址转换、指令获取和数据内存排序分别有不同的 fence/失效指令。