spmpen[31:0]
WARL/锁定 entry 对应位只读RV32 的 SPMP entries 0-31 enable 位;RV64 中为完整 spmpen 的低 32 位。仅已委托/实现 entry 的对应位有效,超出范围的写入被忽略。
这个字段控制什么
- - RV32 的 SPMP entries 0-31 enable 位;RV64 中为完整 spmpen 的低 32 位。仅已委托/实现 entry 的对应位有效,超出范围的写入被忽略。
spmpen(0x183)是 Frozen Sspmpen 扩展定义的 Supervisor WARL CSR;每个位控制对应 SPMP entry 是否参与地址匹配与权限检查。
RV32 的 SPMP entries 0-31 enable 位;RV64 中为完整 spmpen 的低 32 位。仅已委托/实现 entry 的对应位有效,超出范围的写入被忽略。
仅 RV64:SPMP entries 32-63 enable 位。RV32 通过 spmpenh 访问同一逻辑位段。
spmpen 是 Sspmpen 的活动 entry 位图。spmpen[i]=1 仍需 spmpcfg[i].A 非零,entry i 才参与 SPMP 匹配和权限检查。
先配置目标 spmpcfg/spmpaddr entries,并确认其 A 字段非零。
用 spmpen 位图选择要参与匹配和权限检查的 entries。
在依赖新配置的 S/U 内存访问前执行所需的 SFENCE.VMA 排序。
不会。entry i 只有在 spmpen[i]=1 且 spmpcfg[i].A 非零时才活动;若该 entry 已锁定,对应 spmpen 位还会变为只读。