CSR 位字段

RISC-V mseccfg CSR 寄存器详解

地址 0x747特权级 M 模式访问 读写 / 64 位机器安全配置 CSR

可选的 64 位机器安全配置 CSR;仅在某扩展向其添加字段时存在。

字段映射

按 bit 字段理解 mseccfg

11 个关键字段
63:48

WPRI

WPRI

保留。

这个字段控制什么

  • - 保留。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

47:34

WPRI

WPRI

保留。

这个字段控制什么

  • - 保留。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

33:32

PMM

WARL/Smmpm/RV64

Smmpm 的 M 模式指针掩码;无 Smmpm 或 RV32 时只读零。

这个字段控制什么

  • - Smmpm 的 M 模式指针掩码;无 Smmpm 或 RV32 时只读零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

31:11

WPRI

WPRI

保留。

这个字段控制什么

  • - 保留。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

10

MLPE

Zicfilp

为 1 时在 M 模式启用 Zicfilp;否则 ELP 不更新且 LPAD 为 no-op。

这个字段控制什么

  • - 为 1 时在 M 模式启用 Zicfilp;否则 ELP 不更新且 LPAD 为 no-op。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

9

SSEED

Zkr/可选 RO0

控制 S/HS 模式对 seed CSR 的读写访问;无 Zkr 或 S 模式时只读零。

这个字段控制什么

  • - 控制 S/HS 模式对 seed CSR 的读写访问;无 Zkr 或 S 模式时只读零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

8

USEED

Zkr/可选 RO0

控制 U 模式对 seed CSR 的读写访问;无 Zkr 或 U 模式时只读零。

这个字段控制什么

  • - 控制 U 模式对 seed CSR 的读写访问;无 Zkr 或 U 模式时只读零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

7:3

WPRI

WPRI

保留。

这个字段控制什么

  • - 保留。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

2

RLB

WARL/Smepmp

规则锁定绕过;当任一(包括禁用的)PMP 项的 pmpcfg.L 为 1 且 RLB 为 0 时,RLB 保持为 0 至 PMP reset。

这个字段控制什么

  • - 规则锁定绕过;当任一(包括禁用的)PMP 项的 pmpcfg.L 为 1 且 RLB 为 0 时,RLB 保持为 0 至 PMP reset。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

1

MMWP

WARL/Smepmp

M 模式 allowlist 策略;置位后粘滞至 PMP reset,并拒绝无匹配规则的 M 模式访问。

这个字段控制什么

  • - M 模式 allowlist 策略;置位后粘滞至 PMP reset,并拒绝无匹配规则的 M 模式访问。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

0

MML

WARL/Smepmp

Machine Mode Lockdown;置位后粘滞至 PMP reset,并改变 PMP L 位语义。

这个字段控制什么

  • - Machine Mode Lockdown;置位后粘滞至 PMP reset,并改变 PMP L 位语义。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

官方依据与检索要点

可选的 64 位机器安全配置 CSR;仅在某扩展向其添加字段时存在。

汇集 Smepmp、Zkr、Smmpm 和 Zicfilp 的机器安全控制字段。

读这个 CSR 时先看什么

  • - 无任何向 mseccfg 添加字段的扩展时,该 CSR 保留。
  • - Smepmp 的 MML/MMWP 置位后不能在 PMP reset 前清除。

写入前的风险检查

  • - RLB 会削弱锁定 PMP 规则的保护,正常运行完成引导后应避免使用。
  • - 按扩展条件处理只读零字段。

放回真实流程里理解

1

确认所需扩展。

2

按锁定和 WARL 规则配置字段。

3

写后读回确认实现接受的值。