CSR 位字段

RISC-V pmpcfg10 CSR 寄存器详解

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

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

字段映射

按 bit 字段理解 pmpcfg10

48 个关键字段
7

pmp40cfg.L

读写

PMP 条目 40 的锁定位。

这个字段控制什么

  • - PMP 条目 40 的锁定位。

常见取值

pmp40cfg.L
0未锁定

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

1锁定

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

打开官方手册
6:5

pmp40cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
4:3

pmp40cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp40cfg.A
0OFF

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

1TOR

PMP entry 40 使用 top-of-range 匹配;上界来自 pmpaddr40,下界来自 pmpaddr39。

2NA4

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

3NAPOT

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

打开官方手册
2

pmp40cfg.X

读写

PMP 条目 40 的执行权限。

这个字段控制什么

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

常见取值

pmp40cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
1

pmp40cfg.W

读写

PMP 条目 40 的写权限。

这个字段控制什么

  • - PMP 条目 40 的写权限。

常见取值

pmp40cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
0

pmp40cfg.R

读写

PMP 条目 40 的读权限。

这个字段控制什么

  • - PMP 条目 40 的读权限。

常见取值

pmp40cfg.R
0禁止读

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

1允许读

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

打开官方手册
15

pmp41cfg.L

读写

PMP 条目 41 的锁定位。

这个字段控制什么

  • - PMP 条目 41 的锁定位。

常见取值

pmp41cfg.L
0未锁定

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

1锁定

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

打开官方手册
14:13

pmp41cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
12:11

pmp41cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp41cfg.A
0OFF

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

1TOR

PMP entry 41 使用 top-of-range 匹配;上界来自 pmpaddr41,下界来自 pmpaddr40。

2NA4

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

3NAPOT

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

打开官方手册
10

pmp41cfg.X

读写

PMP 条目 41 的执行权限。

这个字段控制什么

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

常见取值

pmp41cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
9

pmp41cfg.W

读写

PMP 条目 41 的写权限。

这个字段控制什么

  • - PMP 条目 41 的写权限。

常见取值

pmp41cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
8

pmp41cfg.R

读写

PMP 条目 41 的读权限。

这个字段控制什么

  • - PMP 条目 41 的读权限。

常见取值

pmp41cfg.R
0禁止读

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

1允许读

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

打开官方手册
23

pmp42cfg.L

读写

PMP 条目 42 的锁定位。

这个字段控制什么

  • - PMP 条目 42 的锁定位。

常见取值

pmp42cfg.L
0未锁定

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

1锁定

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

打开官方手册
22:21

pmp42cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
20:19

pmp42cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp42cfg.A
0OFF

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

1TOR

PMP entry 42 使用 top-of-range 匹配;上界来自 pmpaddr42,下界来自 pmpaddr41。

2NA4

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

3NAPOT

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

打开官方手册
18

pmp42cfg.X

读写

PMP 条目 42 的执行权限。

这个字段控制什么

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

常见取值

pmp42cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
17

pmp42cfg.W

读写

PMP 条目 42 的写权限。

这个字段控制什么

  • - PMP 条目 42 的写权限。

常见取值

pmp42cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
16

pmp42cfg.R

读写

PMP 条目 42 的读权限。

这个字段控制什么

  • - PMP 条目 42 的读权限。

常见取值

pmp42cfg.R
0禁止读

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

1允许读

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

打开官方手册
31

pmp43cfg.L

读写

PMP 条目 43 的锁定位。

这个字段控制什么

  • - PMP 条目 43 的锁定位。

常见取值

pmp43cfg.L
0未锁定

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

1锁定

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

打开官方手册
30:29

pmp43cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
28:27

pmp43cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp43cfg.A
0OFF

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

1TOR

PMP entry 43 使用 top-of-range 匹配;上界来自 pmpaddr43,下界来自 pmpaddr42。

2NA4

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

3NAPOT

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

打开官方手册
26

pmp43cfg.X

读写

PMP 条目 43 的执行权限。

这个字段控制什么

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

常见取值

pmp43cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
25

pmp43cfg.W

读写

PMP 条目 43 的写权限。

这个字段控制什么

  • - PMP 条目 43 的写权限。

常见取值

pmp43cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
24

pmp43cfg.R

读写

PMP 条目 43 的读权限。

这个字段控制什么

  • - PMP 条目 43 的读权限。

常见取值

pmp43cfg.R
0禁止读

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

1允许读

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

打开官方手册
39

pmp44cfg.L

读写

PMP 条目 44 的锁定位。

这个字段控制什么

  • - PMP 条目 44 的锁定位。

常见取值

pmp44cfg.L
0未锁定

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

1锁定

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

打开官方手册
38:37

pmp44cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
36:35

pmp44cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp44cfg.A
0OFF

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

1TOR

PMP entry 44 使用 top-of-range 匹配;上界来自 pmpaddr44,下界来自 pmpaddr43。

2NA4

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

3NAPOT

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

打开官方手册
34

pmp44cfg.X

读写

PMP 条目 44 的执行权限。

这个字段控制什么

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

常见取值

pmp44cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
33

pmp44cfg.W

读写

PMP 条目 44 的写权限。

这个字段控制什么

  • - PMP 条目 44 的写权限。

常见取值

pmp44cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
32

pmp44cfg.R

读写

PMP 条目 44 的读权限。

这个字段控制什么

  • - PMP 条目 44 的读权限。

常见取值

pmp44cfg.R
0禁止读

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

1允许读

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

打开官方手册
47

pmp45cfg.L

读写

PMP 条目 45 的锁定位。

这个字段控制什么

  • - PMP 条目 45 的锁定位。

常见取值

pmp45cfg.L
0未锁定

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

1锁定

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

打开官方手册
46:45

pmp45cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
44:43

pmp45cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp45cfg.A
0OFF

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

1TOR

PMP entry 45 使用 top-of-range 匹配;上界来自 pmpaddr45,下界来自 pmpaddr44。

2NA4

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

3NAPOT

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

打开官方手册
42

pmp45cfg.X

读写

PMP 条目 45 的执行权限。

这个字段控制什么

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

常见取值

pmp45cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
41

pmp45cfg.W

读写

PMP 条目 45 的写权限。

这个字段控制什么

  • - PMP 条目 45 的写权限。

常见取值

pmp45cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
40

pmp45cfg.R

读写

PMP 条目 45 的读权限。

这个字段控制什么

  • - PMP 条目 45 的读权限。

常见取值

pmp45cfg.R
0禁止读

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

1允许读

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

打开官方手册
55

pmp46cfg.L

读写

PMP 条目 46 的锁定位。

这个字段控制什么

  • - PMP 条目 46 的锁定位。

常见取值

pmp46cfg.L
0未锁定

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

1锁定

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

打开官方手册
54:53

pmp46cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
52:51

pmp46cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp46cfg.A
0OFF

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

1TOR

PMP entry 46 使用 top-of-range 匹配;上界来自 pmpaddr46,下界来自 pmpaddr45。

2NA4

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

3NAPOT

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

打开官方手册
50

pmp46cfg.X

读写

PMP 条目 46 的执行权限。

这个字段控制什么

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

常见取值

pmp46cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
49

pmp46cfg.W

读写

PMP 条目 46 的写权限。

这个字段控制什么

  • - PMP 条目 46 的写权限。

常见取值

pmp46cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
48

pmp46cfg.R

读写

PMP 条目 46 的读权限。

这个字段控制什么

  • - PMP 条目 46 的读权限。

常见取值

pmp46cfg.R
0禁止读

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

1允许读

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

打开官方手册
63

pmp47cfg.L

读写

PMP 条目 47 的锁定位。

这个字段控制什么

  • - PMP 条目 47 的锁定位。

常见取值

pmp47cfg.L
0未锁定

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

1锁定

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

打开官方手册
62:61

pmp47cfg.reserved

只读

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

这个字段控制什么

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

常见取值

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

打开官方手册
60:59

pmp47cfg.A

读写

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

这个字段控制什么

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

常见取值

pmp47cfg.A
0OFF

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

1TOR

PMP entry 47 使用 top-of-range 匹配;上界来自 pmpaddr47,下界来自 pmpaddr46。

2NA4

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

3NAPOT

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

打开官方手册
58

pmp47cfg.X

读写

PMP 条目 47 的执行权限。

这个字段控制什么

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

常见取值

pmp47cfg.X
0禁止执行

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

1允许执行

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

打开官方手册
57

pmp47cfg.W

读写

PMP 条目 47 的写权限。

这个字段控制什么

  • - PMP 条目 47 的写权限。

常见取值

pmp47cfg.W
0禁止写

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

1允许写(需 R=1)

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

打开官方手册
56

pmp47cfg.R

读写

PMP 条目 47 的读权限。

这个字段控制什么

  • - PMP 条目 47 的读权限。

常见取值

pmp47cfg.R
0禁止读

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

1允许读

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

打开官方手册

读这个 CSR 时先看什么

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

写入前的风险检查

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

放回真实流程里理解

1

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

2

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

3

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