CSR 位字段

RISC-V pmpcfg14 CSR 寄存器详解

地址 0x3AE特权级 Machine 模式访问 读写 / XLENMachine 物理内存保护 CSR

pmpcfg14 是物理内存保护配置 CSR,描述一组 PMP 区域的读/写/执行权限、地址匹配方式和锁定位。

字段映射

按 bit 字段理解 pmpcfg14

48 个关键字段
7

pmp56cfg.L

读写

PMP 条目 56 的锁定位。

这个字段控制什么

  • - PMP 条目 56 的锁定位。

常见取值

pmp56cfg.L
0未锁定

PMP entry 56 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr56 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 56 锁定;写入 pmp56cfg 和 pmpaddr56 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr55 也会被锁定。

打开官方手册
6:5

pmp56cfg.reserved

只读

PMP 条目 56 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 56 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
4:3

pmp56cfg.A

读写

PMP 条目 56 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 56 的地址匹配模式。

常见取值

pmp56cfg.A
0OFF

PMP entry 56 关闭,匹配空区域。

1TOR

PMP entry 56 使用 top-of-range 匹配;上界来自 pmpaddr56,下界来自 pmpaddr55。

2NA4

PMP entry 56 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 56 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr56 的低位编码。

打开官方手册
2

pmp56cfg.X

读写

PMP 条目 56 的执行权限。

这个字段控制什么

  • - PMP 条目 56 的执行权限。

常见取值

pmp56cfg.X
0禁止执行

PMP entry 56 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 56 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
1

pmp56cfg.W

读写

PMP 条目 56 的写权限。

这个字段控制什么

  • - PMP 条目 56 的写权限。

常见取值

pmp56cfg.W
0禁止写

PMP entry 56 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 56 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
0

pmp56cfg.R

读写

PMP 条目 56 的读权限。

这个字段控制什么

  • - PMP 条目 56 的读权限。

常见取值

pmp56cfg.R
0禁止读

PMP entry 56 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 56 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
15

pmp57cfg.L

读写

PMP 条目 57 的锁定位。

这个字段控制什么

  • - PMP 条目 57 的锁定位。

常见取值

pmp57cfg.L
0未锁定

PMP entry 57 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr57 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 57 锁定;写入 pmp57cfg 和 pmpaddr57 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr56 也会被锁定。

打开官方手册
14:13

pmp57cfg.reserved

只读

PMP 条目 57 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 57 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
12:11

pmp57cfg.A

读写

PMP 条目 57 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 57 的地址匹配模式。

常见取值

pmp57cfg.A
0OFF

PMP entry 57 关闭,匹配空区域。

1TOR

PMP entry 57 使用 top-of-range 匹配;上界来自 pmpaddr57,下界来自 pmpaddr56。

2NA4

PMP entry 57 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 57 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr57 的低位编码。

打开官方手册
10

pmp57cfg.X

读写

PMP 条目 57 的执行权限。

这个字段控制什么

  • - PMP 条目 57 的执行权限。

常见取值

pmp57cfg.X
0禁止执行

PMP entry 57 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 57 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
9

pmp57cfg.W

读写

PMP 条目 57 的写权限。

这个字段控制什么

  • - PMP 条目 57 的写权限。

常见取值

pmp57cfg.W
0禁止写

PMP entry 57 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 57 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
8

pmp57cfg.R

读写

PMP 条目 57 的读权限。

这个字段控制什么

  • - PMP 条目 57 的读权限。

常见取值

pmp57cfg.R
0禁止读

PMP entry 57 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 57 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
23

pmp58cfg.L

读写

PMP 条目 58 的锁定位。

这个字段控制什么

  • - PMP 条目 58 的锁定位。

常见取值

pmp58cfg.L
0未锁定

PMP entry 58 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr58 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 58 锁定;写入 pmp58cfg 和 pmpaddr58 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr57 也会被锁定。

打开官方手册
22:21

pmp58cfg.reserved

只读

PMP 条目 58 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 58 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
20:19

pmp58cfg.A

读写

PMP 条目 58 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 58 的地址匹配模式。

常见取值

pmp58cfg.A
0OFF

PMP entry 58 关闭,匹配空区域。

1TOR

PMP entry 58 使用 top-of-range 匹配;上界来自 pmpaddr58,下界来自 pmpaddr57。

2NA4

PMP entry 58 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 58 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr58 的低位编码。

打开官方手册
18

pmp58cfg.X

读写

PMP 条目 58 的执行权限。

这个字段控制什么

  • - PMP 条目 58 的执行权限。

常见取值

pmp58cfg.X
0禁止执行

PMP entry 58 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 58 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
17

pmp58cfg.W

读写

PMP 条目 58 的写权限。

这个字段控制什么

  • - PMP 条目 58 的写权限。

常见取值

pmp58cfg.W
0禁止写

PMP entry 58 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 58 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
16

pmp58cfg.R

读写

PMP 条目 58 的读权限。

这个字段控制什么

  • - PMP 条目 58 的读权限。

常见取值

pmp58cfg.R
0禁止读

PMP entry 58 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 58 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
31

pmp59cfg.L

读写

PMP 条目 59 的锁定位。

这个字段控制什么

  • - PMP 条目 59 的锁定位。

常见取值

pmp59cfg.L
0未锁定

PMP entry 59 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr59 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 59 锁定;写入 pmp59cfg 和 pmpaddr59 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr58 也会被锁定。

打开官方手册
30:29

pmp59cfg.reserved

只读

PMP 条目 59 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 59 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
28:27

pmp59cfg.A

读写

PMP 条目 59 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 59 的地址匹配模式。

常见取值

pmp59cfg.A
0OFF

PMP entry 59 关闭,匹配空区域。

1TOR

PMP entry 59 使用 top-of-range 匹配;上界来自 pmpaddr59,下界来自 pmpaddr58。

2NA4

PMP entry 59 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 59 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr59 的低位编码。

打开官方手册
26

pmp59cfg.X

读写

PMP 条目 59 的执行权限。

这个字段控制什么

  • - PMP 条目 59 的执行权限。

常见取值

pmp59cfg.X
0禁止执行

PMP entry 59 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 59 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
25

pmp59cfg.W

读写

PMP 条目 59 的写权限。

这个字段控制什么

  • - PMP 条目 59 的写权限。

常见取值

pmp59cfg.W
0禁止写

PMP entry 59 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 59 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
24

pmp59cfg.R

读写

PMP 条目 59 的读权限。

这个字段控制什么

  • - PMP 条目 59 的读权限。

常见取值

pmp59cfg.R
0禁止读

PMP entry 59 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 59 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
39

pmp60cfg.L

读写

PMP 条目 60 的锁定位。

这个字段控制什么

  • - PMP 条目 60 的锁定位。

常见取值

pmp60cfg.L
0未锁定

PMP entry 60 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr60 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 60 锁定;写入 pmp60cfg 和 pmpaddr60 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr59 也会被锁定。

打开官方手册
38:37

pmp60cfg.reserved

只读

PMP 条目 60 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 60 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
36:35

pmp60cfg.A

读写

PMP 条目 60 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 60 的地址匹配模式。

常见取值

pmp60cfg.A
0OFF

PMP entry 60 关闭,匹配空区域。

1TOR

PMP entry 60 使用 top-of-range 匹配;上界来自 pmpaddr60,下界来自 pmpaddr59。

2NA4

PMP entry 60 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 60 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr60 的低位编码。

打开官方手册
34

pmp60cfg.X

读写

PMP 条目 60 的执行权限。

这个字段控制什么

  • - PMP 条目 60 的执行权限。

常见取值

pmp60cfg.X
0禁止执行

PMP entry 60 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 60 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
33

pmp60cfg.W

读写

PMP 条目 60 的写权限。

这个字段控制什么

  • - PMP 条目 60 的写权限。

常见取值

pmp60cfg.W
0禁止写

PMP entry 60 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 60 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
32

pmp60cfg.R

读写

PMP 条目 60 的读权限。

这个字段控制什么

  • - PMP 条目 60 的读权限。

常见取值

pmp60cfg.R
0禁止读

PMP entry 60 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 60 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
47

pmp61cfg.L

读写

PMP 条目 61 的锁定位。

这个字段控制什么

  • - PMP 条目 61 的锁定位。

常见取值

pmp61cfg.L
0未锁定

PMP entry 61 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr61 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 61 锁定;写入 pmp61cfg 和 pmpaddr61 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr60 也会被锁定。

打开官方手册
46:45

pmp61cfg.reserved

只读

PMP 条目 61 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 61 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
44:43

pmp61cfg.A

读写

PMP 条目 61 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 61 的地址匹配模式。

常见取值

pmp61cfg.A
0OFF

PMP entry 61 关闭,匹配空区域。

1TOR

PMP entry 61 使用 top-of-range 匹配;上界来自 pmpaddr61,下界来自 pmpaddr60。

2NA4

PMP entry 61 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 61 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr61 的低位编码。

打开官方手册
42

pmp61cfg.X

读写

PMP 条目 61 的执行权限。

这个字段控制什么

  • - PMP 条目 61 的执行权限。

常见取值

pmp61cfg.X
0禁止执行

PMP entry 61 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 61 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
41

pmp61cfg.W

读写

PMP 条目 61 的写权限。

这个字段控制什么

  • - PMP 条目 61 的写权限。

常见取值

pmp61cfg.W
0禁止写

PMP entry 61 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 61 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
40

pmp61cfg.R

读写

PMP 条目 61 的读权限。

这个字段控制什么

  • - PMP 条目 61 的读权限。

常见取值

pmp61cfg.R
0禁止读

PMP entry 61 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 61 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
55

pmp62cfg.L

读写

PMP 条目 62 的锁定位。

这个字段控制什么

  • - PMP 条目 62 的锁定位。

常见取值

pmp62cfg.L
0未锁定

PMP entry 62 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。注意 pmpaddr62 仍可能因后一条 locked TOR entry 而被锁定。

1锁定

PMP entry 62 锁定;写入 pmp62cfg 和 pmpaddr62 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr61 也会被锁定。

打开官方手册
54:53

pmp62cfg.reserved

只读

PMP 条目 62 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 62 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
52:51

pmp62cfg.A

读写

PMP 条目 62 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 62 的地址匹配模式。

常见取值

pmp62cfg.A
0OFF

PMP entry 62 关闭,匹配空区域。

1TOR

PMP entry 62 使用 top-of-range 匹配;上界来自 pmpaddr62,下界来自 pmpaddr61。

2NA4

PMP entry 62 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 62 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr62 的低位编码。

打开官方手册
50

pmp62cfg.X

读写

PMP 条目 62 的执行权限。

这个字段控制什么

  • - PMP 条目 62 的执行权限。

常见取值

pmp62cfg.X
0禁止执行

PMP entry 62 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 62 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
49

pmp62cfg.W

读写

PMP 条目 62 的写权限。

这个字段控制什么

  • - PMP 条目 62 的写权限。

常见取值

pmp62cfg.W
0禁止写

PMP entry 62 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 62 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
48

pmp62cfg.R

读写

PMP 条目 62 的读权限。

这个字段控制什么

  • - PMP 条目 62 的读权限。

常见取值

pmp62cfg.R
0禁止读

PMP entry 62 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 62 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
63

pmp63cfg.L

读写

PMP 条目 63 的锁定位。

这个字段控制什么

  • - PMP 条目 63 的锁定位。

常见取值

pmp63cfg.L
0未锁定

PMP entry 63 未锁定;该 entry 的配置可按 WARL 规则修改。M-mode 命中该 entry 的访问会成功,R/W/X 权限只约束 S/U 有效特权访问。entry 63 是最后一个 PMP entry,因此没有后一条 TOR entry 会锁定 pmpaddr63。

1锁定

PMP entry 63 锁定;写入 pmp63cfg 和 pmpaddr63 会被忽略直到 hart reset,并且 R/W/X 权限施加到所有特权模式。若 A=TOR,pmpaddr62 也会被锁定。

打开官方手册
62:61

pmp63cfg.reserved

只读

PMP 条目 63 的保留位;写入按 WARL/保留位规则处理。

这个字段控制什么

  • - PMP 条目 63 的保留位;写入按 WARL/保留位规则处理。

常见取值

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

打开官方手册
60:59

pmp63cfg.A

读写

PMP 条目 63 的地址匹配模式。

这个字段控制什么

  • - PMP 条目 63 的地址匹配模式。

常见取值

pmp63cfg.A
0OFF

PMP entry 63 关闭,匹配空区域。

1TOR

PMP entry 63 使用 top-of-range 匹配;上界来自 pmpaddr63,下界来自 pmpaddr62。

2NA4

PMP entry 63 匹配自然对齐的 4 字节区域;若平台 PMP grain 不支持 NA4,该编码不可选择。

3NAPOT

PMP entry 63 匹配自然对齐的 2 的幂大小区域,大小至少 8 字节,范围大小由 pmpaddr63 的低位编码。

打开官方手册
58

pmp63cfg.X

读写

PMP 条目 63 的执行权限。

这个字段控制什么

  • - PMP 条目 63 的执行权限。

常见取值

pmp63cfg.X
0禁止执行

PMP entry 63 不授予执行权限;命中该 entry 的 S/U 取指会失败,M-mode 取指仅在该 entry 锁定时受此位约束。

1允许执行

PMP entry 63 授予执行权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册
57

pmp63cfg.W

读写

PMP 条目 63 的写权限。

这个字段控制什么

  • - PMP 条目 63 的写权限。

常见取值

pmp63cfg.W
0禁止写

PMP entry 63 不授予写权限;命中该 entry 的 S/U store/AMO 等写类访问会失败,M-mode 写访问仅在该 entry 锁定时受此位约束。

1允许写(需 R=1)

PMP entry 63 授予写权限,前提是 R=1;R=0 且 W=1 是官方保留组合,不是可移植配置。

打开官方手册
56

pmp63cfg.R

读写

PMP 条目 63 的读权限。

这个字段控制什么

  • - PMP 条目 63 的读权限。

常见取值

pmp63cfg.R
0禁止读

PMP entry 63 不授予读权限;命中该 entry 的 S/U 读访问会失败,M-mode 读访问仅在该 entry 锁定时受此位约束。

1允许读

PMP entry 63 授予读权限,前提是该 entry 匹配且其他 PMP/PMA/特权规则也允许。

打开官方手册

读这个 CSR 时先看什么

  • - 先确认当前 hart 是否实现 pmpcfg14,未实现或权限不足的访问会触发非法指令异常。
  • - 结合地址 0x3AE 和最低访问特权级(Machine 模式)判断软件是否可以直接读取。
  • - 读取保留位或 WARL/WLRL 位时不要假设固定值,应按规范和实现返回值解释。

写入前的风险检查

  • - 写入前保留未修改的位,避免把保留位或实现定义位写成非规范值。
  • - 优先使用 CSRRS/CSRRC 做局部置位或清位,避免 CSRRW 覆盖并发更新的状态位。

放回真实流程里理解

1

初始化或进入相关特权流程时,软件先读取 pmpcfg14 了解当前状态。

2

根据字段定义只修改目标位,保留其余位的原值。

3

修改后再次读取或通过后续 trap/中断/上下文切换行为验证配置是否生效。