SXLEN-1:0
VALUE
读写供 S 模式使用的完整 scratch 值;特权架构不为该值定义内部位字段。
这个字段控制什么
- - 供 S 模式使用的完整 scratch 值;特权架构不为该值定义内部位字段。
常见取值
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
监管者 scratch 寄存器,是供 S 模式软件使用的 SXLEN 位读写 CSR。
供 S 模式使用的完整 scratch 值;特权架构不为该值定义内部位字段。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
sscratch 是地址 0x140 的 SXLEN 位 S 模式读写 scratch CSR。它通常保存 hart-local supervisor 上下文指针;具体内容由 S 模式软件约定,而不是由硬件位字段定义。
S 模式初始化代码为每个 hart 写入约定的 scratch 值。
陷阱入口用 CSR 读写指令与通用寄存器交换或读取 sscratch。
陷阱处理和返回路径按同一 S 模式软件约定恢复或更新该值。
不能只看 CSR 名称判断。官方 CSR 地址编码和表格给出最低访问特权级;sscratch 当前记录为 S模式,权限不足或未实现时访问会触发非法指令异常。
不要把 sscratch 当成硬件定义的位字段寄存器。写入值的含义由 S 模式陷阱软件约定决定,错误覆盖可能破坏陷阱入口使用的上下文指针或临时值。