STCE
读写/只读零Sstc 的 STimecmp Enable。实现且置 1 时为 S 模式启用 stimecmp;否则低于 M 模式访问会触发非法指令异常。未实现 Sstc 时只读零。
这个字段控制什么
- - Sstc 的 STimecmp Enable。实现且置 1 时为 S 模式启用 stimecmp;否则低于 M 模式访问会触发非法指令异常。未实现 Sstc 时只读零。
常见取值
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
机器环境配置寄存器;控制低于 M 模式的执行环境特性。
Sstc 的 STimecmp Enable。实现且置 1 时为 S 模式启用 stimecmp;否则低于 M 模式访问会触发非法指令异常。未实现 Sstc 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
控制 Svpbmt 是否可用于 S 模式和 G-stage 地址转换;未实现 Svpbmt 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
实现 Svadu 时,控制 S 模式和 G-stage 地址转换的 PTE A/D 位硬件更新;未实现 Svadu 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Smcdeleg 计数器委托使能。置 1 时启用 Smcdeleg 计数器委托;未实现 Smcdeleg 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Ssdbltrp double-trap-enable 字段。为 0 时,实现表现为未实现 Ssdbltrp;未实现 Ssdbltrp 时该字段只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Smnpm 为下一个较低特权级提供的指针屏蔽字段。合法值:00 禁用、01 保留、10 PMLEN=XLEN-57、11 PMLEN=XLEN-48;未实现 Smnpm 时只读零,RV32 上只读零。
指针屏蔽禁用,PMLEN=0。
保留编码;可移植软件不应写入。
启用指针屏蔽;RV64 上 PMLEN=7。
启用指针屏蔽;RV64 上 PMLEN=16。
Zicboz 的 Cache Block Zero 指令使能,作用于低于 M 的特权级;未实现 Zicboz 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Zicbom 的 Cache Block Clean/Flush 指令使能,作用于低于 M 的特权级;未实现 Zicbom 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Zicbom 的 Cache Block Invalidate 指令使能 WARL 字段:00 触发异常,01 按 flush 执行,10 保留,11 按 invalidate 执行(除非较低模式配置为 flush);未实现 Zicbom 时只读零。
低于 M 的特权级执行 CBO.INVAL 会触发非法指令异常。
CBO.INVAL 执行并执行 flush 操作。
保留编码;可移植软件不应写入。
CBO.INVAL 执行并执行 invalidate 操作,除非低于 M 的模式配置为 flush。
Zicfiss shadow stack 使能。置 1 时在 S 模式激活 Zicfiss;清零时低于 M 的 Zicfiss 行为遵循规范的禁用规则;未实现 Zicfiss 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Zicfilp landing-pad 使能,作用于 S 模式;未实现 S 模式时作用于 U 模式;未实现 Zicfilp 时只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
Fence of I/O implies Memory。置 1 时,低于 M 的 FENCE I/O 排序和有序 I/O 原子操作也隐含普通内存排序。若无 S 模式或 satp.MODE 恒为 Bare,可为只读零。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
menvcfg 布局中的保留/WPRI 字段;软件写其他字段时应保留,读取时忽略。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
menvcfg 是 M 模式为较低特权级设置执行环境开关的 64 位 CSR。多数位只有在相应扩展实现时才可写,否则读零。
依赖 menvcfg 位之前,先确认定义该字段的扩展是否实现。
只设置 OS 或 hypervisor 需要的特定低特权级环境控制。
读回 WARL/RO0 字段;对影响地址转换的修改执行必要 fence。
不能只看 CSR 名称判断。官方 CSR 地址编码和表格给出最低访问特权级;menvcfg 当前记录为 M模式,权限不足或未实现时访问会触发非法指令异常。
不要把整个 CSR 当普通整数覆盖。应只修改目标字段,保留未修改位,并按规范处理 WARL、WLRL、WPRI 或保留字段。