CSR Bit Fields

RISC-V pmpcfg4 CSR Register

Address 0x3A4Privilege MachineAccess RW / XLENMachine physical memory protection CSRs

pmpcfg4 is a physical memory protection configuration CSR describing permissions, address matching, and lock bits for PMP regions.

Field Map

Understand pmpcfg4 By Bit Fields

48 key fields
7

pmp16cfg.L

RW

Lock bit for PMP entry 16.

pmp16cfg.L (bit 7) — Lock bit for PMP entry 16.

What This Field Controls

  • - Lock bit for PMP entry 16.

Common Values

pmp16cfg.L
0Unlocked

PMP entry 16 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr16 may still be locked by a later locked TOR entry.

1Locked

PMP entry 16 is locked; writes to pmp16cfg and pmpaddr16 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr15 is also locked.

Open Official Manual
6:5

pmp16cfg.reserved

RO

Reserved bits for PMP entry 16; writes follow WARL/reserved-bit rules.

pmp16cfg.reserved (bits 6:5) — Reserved bits for PMP entry 16; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 16; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
4:3

pmp16cfg.A

RW

Address-matching mode for PMP entry 16.

pmp16cfg.A (bits 4:3) — Address-matching mode for PMP entry 16.

What This Field Controls

  • - Address-matching mode for PMP entry 16.

Common Values

pmp16cfg.A
0OFF

PMP entry 16 is disabled and matches no addresses.

1TOR

PMP entry 16 uses top-of-range matching; the upper bound comes from pmpaddr16, and the lower bound comes from pmpaddr15.

2NA4

PMP entry 16 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 16 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr16.

Open Official Manual
2

pmp16cfg.X

RW

Execute permission for PMP entry 16.

pmp16cfg.X (bit 2) — Execute permission for PMP entry 16.

What This Field Controls

  • - Execute permission for PMP entry 16.

Common Values

pmp16cfg.X
0Execute denied

PMP entry 16 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 16 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
1

pmp16cfg.W

RW

Write permission for PMP entry 16.

pmp16cfg.W (bit 1) — Write permission for PMP entry 16.

What This Field Controls

  • - Write permission for PMP entry 16.

Common Values

pmp16cfg.W
0Write denied

PMP entry 16 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 16 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
0

pmp16cfg.R

RW

Read permission for PMP entry 16.

pmp16cfg.R (bit 0) — Read permission for PMP entry 16.

What This Field Controls

  • - Read permission for PMP entry 16.

Common Values

pmp16cfg.R
0Read denied

PMP entry 16 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 16 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
15

pmp17cfg.L

RW

Lock bit for PMP entry 17.

pmp17cfg.L (bit 15) — Lock bit for PMP entry 17.

What This Field Controls

  • - Lock bit for PMP entry 17.

Common Values

pmp17cfg.L
0Unlocked

PMP entry 17 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr17 may still be locked by a later locked TOR entry.

1Locked

PMP entry 17 is locked; writes to pmp17cfg and pmpaddr17 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr16 is also locked.

Open Official Manual
14:13

pmp17cfg.reserved

RO

Reserved bits for PMP entry 17; writes follow WARL/reserved-bit rules.

pmp17cfg.reserved (bits 14:13) — Reserved bits for PMP entry 17; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 17; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
12:11

pmp17cfg.A

RW

Address-matching mode for PMP entry 17.

pmp17cfg.A (bits 12:11) — Address-matching mode for PMP entry 17.

What This Field Controls

  • - Address-matching mode for PMP entry 17.

Common Values

pmp17cfg.A
0OFF

PMP entry 17 is disabled and matches no addresses.

1TOR

PMP entry 17 uses top-of-range matching; the upper bound comes from pmpaddr17, and the lower bound comes from pmpaddr16.

2NA4

PMP entry 17 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 17 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr17.

Open Official Manual
10

pmp17cfg.X

RW

Execute permission for PMP entry 17.

pmp17cfg.X (bit 10) — Execute permission for PMP entry 17.

What This Field Controls

  • - Execute permission for PMP entry 17.

Common Values

pmp17cfg.X
0Execute denied

PMP entry 17 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 17 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
9

pmp17cfg.W

RW

Write permission for PMP entry 17.

pmp17cfg.W (bit 9) — Write permission for PMP entry 17.

What This Field Controls

  • - Write permission for PMP entry 17.

Common Values

pmp17cfg.W
0Write denied

PMP entry 17 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 17 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
8

pmp17cfg.R

RW

Read permission for PMP entry 17.

pmp17cfg.R (bit 8) — Read permission for PMP entry 17.

What This Field Controls

  • - Read permission for PMP entry 17.

Common Values

pmp17cfg.R
0Read denied

PMP entry 17 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 17 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
23

pmp18cfg.L

RW

Lock bit for PMP entry 18.

pmp18cfg.L (bit 23) — Lock bit for PMP entry 18.

What This Field Controls

  • - Lock bit for PMP entry 18.

Common Values

pmp18cfg.L
0Unlocked

PMP entry 18 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr18 may still be locked by a later locked TOR entry.

1Locked

PMP entry 18 is locked; writes to pmp18cfg and pmpaddr18 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr17 is also locked.

Open Official Manual
22:21

pmp18cfg.reserved

RO

Reserved bits for PMP entry 18; writes follow WARL/reserved-bit rules.

pmp18cfg.reserved (bits 22:21) — Reserved bits for PMP entry 18; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 18; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
20:19

pmp18cfg.A

RW

Address-matching mode for PMP entry 18.

pmp18cfg.A (bits 20:19) — Address-matching mode for PMP entry 18.

What This Field Controls

  • - Address-matching mode for PMP entry 18.

Common Values

pmp18cfg.A
0OFF

PMP entry 18 is disabled and matches no addresses.

1TOR

PMP entry 18 uses top-of-range matching; the upper bound comes from pmpaddr18, and the lower bound comes from pmpaddr17.

2NA4

PMP entry 18 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 18 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr18.

Open Official Manual
18

pmp18cfg.X

RW

Execute permission for PMP entry 18.

pmp18cfg.X (bit 18) — Execute permission for PMP entry 18.

What This Field Controls

  • - Execute permission for PMP entry 18.

Common Values

pmp18cfg.X
0Execute denied

PMP entry 18 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 18 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
17

pmp18cfg.W

RW

Write permission for PMP entry 18.

pmp18cfg.W (bit 17) — Write permission for PMP entry 18.

What This Field Controls

  • - Write permission for PMP entry 18.

Common Values

pmp18cfg.W
0Write denied

PMP entry 18 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 18 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
16

pmp18cfg.R

RW

Read permission for PMP entry 18.

pmp18cfg.R (bit 16) — Read permission for PMP entry 18.

What This Field Controls

  • - Read permission for PMP entry 18.

Common Values

pmp18cfg.R
0Read denied

PMP entry 18 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 18 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
31

pmp19cfg.L

RW

Lock bit for PMP entry 19.

pmp19cfg.L (bit 31) — Lock bit for PMP entry 19.

What This Field Controls

  • - Lock bit for PMP entry 19.

Common Values

pmp19cfg.L
0Unlocked

PMP entry 19 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr19 may still be locked by a later locked TOR entry.

1Locked

PMP entry 19 is locked; writes to pmp19cfg and pmpaddr19 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr18 is also locked.

Open Official Manual
30:29

pmp19cfg.reserved

RO

Reserved bits for PMP entry 19; writes follow WARL/reserved-bit rules.

pmp19cfg.reserved (bits 30:29) — Reserved bits for PMP entry 19; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 19; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
28:27

pmp19cfg.A

RW

Address-matching mode for PMP entry 19.

pmp19cfg.A (bits 28:27) — Address-matching mode for PMP entry 19.

What This Field Controls

  • - Address-matching mode for PMP entry 19.

Common Values

pmp19cfg.A
0OFF

PMP entry 19 is disabled and matches no addresses.

1TOR

PMP entry 19 uses top-of-range matching; the upper bound comes from pmpaddr19, and the lower bound comes from pmpaddr18.

2NA4

PMP entry 19 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 19 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr19.

Open Official Manual
26

pmp19cfg.X

RW

Execute permission for PMP entry 19.

pmp19cfg.X (bit 26) — Execute permission for PMP entry 19.

What This Field Controls

  • - Execute permission for PMP entry 19.

Common Values

pmp19cfg.X
0Execute denied

PMP entry 19 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 19 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
25

pmp19cfg.W

RW

Write permission for PMP entry 19.

pmp19cfg.W (bit 25) — Write permission for PMP entry 19.

What This Field Controls

  • - Write permission for PMP entry 19.

Common Values

pmp19cfg.W
0Write denied

PMP entry 19 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 19 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
24

pmp19cfg.R

RW

Read permission for PMP entry 19.

pmp19cfg.R (bit 24) — Read permission for PMP entry 19.

What This Field Controls

  • - Read permission for PMP entry 19.

Common Values

pmp19cfg.R
0Read denied

PMP entry 19 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 19 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
39

pmp20cfg.L

RW

Lock bit for PMP entry 20.

pmp20cfg.L (bit 39) — Lock bit for PMP entry 20.

What This Field Controls

  • - Lock bit for PMP entry 20.

Common Values

pmp20cfg.L
0Unlocked

PMP entry 20 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr20 may still be locked by a later locked TOR entry.

1Locked

PMP entry 20 is locked; writes to pmp20cfg and pmpaddr20 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr19 is also locked.

Open Official Manual
38:37

pmp20cfg.reserved

RO

Reserved bits for PMP entry 20; writes follow WARL/reserved-bit rules.

pmp20cfg.reserved (bits 38:37) — Reserved bits for PMP entry 20; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 20; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
36:35

pmp20cfg.A

RW

Address-matching mode for PMP entry 20.

pmp20cfg.A (bits 36:35) — Address-matching mode for PMP entry 20.

What This Field Controls

  • - Address-matching mode for PMP entry 20.

Common Values

pmp20cfg.A
0OFF

PMP entry 20 is disabled and matches no addresses.

1TOR

PMP entry 20 uses top-of-range matching; the upper bound comes from pmpaddr20, and the lower bound comes from pmpaddr19.

2NA4

PMP entry 20 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 20 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr20.

Open Official Manual
34

pmp20cfg.X

RW

Execute permission for PMP entry 20.

pmp20cfg.X (bit 34) — Execute permission for PMP entry 20.

What This Field Controls

  • - Execute permission for PMP entry 20.

Common Values

pmp20cfg.X
0Execute denied

PMP entry 20 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 20 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
33

pmp20cfg.W

RW

Write permission for PMP entry 20.

pmp20cfg.W (bit 33) — Write permission for PMP entry 20.

What This Field Controls

  • - Write permission for PMP entry 20.

Common Values

pmp20cfg.W
0Write denied

PMP entry 20 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 20 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
32

pmp20cfg.R

RW

Read permission for PMP entry 20.

pmp20cfg.R (bit 32) — Read permission for PMP entry 20.

What This Field Controls

  • - Read permission for PMP entry 20.

Common Values

pmp20cfg.R
0Read denied

PMP entry 20 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 20 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
47

pmp21cfg.L

RW

Lock bit for PMP entry 21.

pmp21cfg.L (bit 47) — Lock bit for PMP entry 21.

What This Field Controls

  • - Lock bit for PMP entry 21.

Common Values

pmp21cfg.L
0Unlocked

PMP entry 21 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr21 may still be locked by a later locked TOR entry.

1Locked

PMP entry 21 is locked; writes to pmp21cfg and pmpaddr21 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr20 is also locked.

Open Official Manual
46:45

pmp21cfg.reserved

RO

Reserved bits for PMP entry 21; writes follow WARL/reserved-bit rules.

pmp21cfg.reserved (bits 46:45) — Reserved bits for PMP entry 21; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 21; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
44:43

pmp21cfg.A

RW

Address-matching mode for PMP entry 21.

pmp21cfg.A (bits 44:43) — Address-matching mode for PMP entry 21.

What This Field Controls

  • - Address-matching mode for PMP entry 21.

Common Values

pmp21cfg.A
0OFF

PMP entry 21 is disabled and matches no addresses.

1TOR

PMP entry 21 uses top-of-range matching; the upper bound comes from pmpaddr21, and the lower bound comes from pmpaddr20.

2NA4

PMP entry 21 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 21 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr21.

Open Official Manual
42

pmp21cfg.X

RW

Execute permission for PMP entry 21.

pmp21cfg.X (bit 42) — Execute permission for PMP entry 21.

What This Field Controls

  • - Execute permission for PMP entry 21.

Common Values

pmp21cfg.X
0Execute denied

PMP entry 21 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 21 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
41

pmp21cfg.W

RW

Write permission for PMP entry 21.

pmp21cfg.W (bit 41) — Write permission for PMP entry 21.

What This Field Controls

  • - Write permission for PMP entry 21.

Common Values

pmp21cfg.W
0Write denied

PMP entry 21 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 21 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
40

pmp21cfg.R

RW

Read permission for PMP entry 21.

pmp21cfg.R (bit 40) — Read permission for PMP entry 21.

What This Field Controls

  • - Read permission for PMP entry 21.

Common Values

pmp21cfg.R
0Read denied

PMP entry 21 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 21 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
55

pmp22cfg.L

RW

Lock bit for PMP entry 22.

pmp22cfg.L (bit 55) — Lock bit for PMP entry 22.

What This Field Controls

  • - Lock bit for PMP entry 22.

Common Values

pmp22cfg.L
0Unlocked

PMP entry 22 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr22 may still be locked by a later locked TOR entry.

1Locked

PMP entry 22 is locked; writes to pmp22cfg and pmpaddr22 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr21 is also locked.

Open Official Manual
54:53

pmp22cfg.reserved

RO

Reserved bits for PMP entry 22; writes follow WARL/reserved-bit rules.

pmp22cfg.reserved (bits 54:53) — Reserved bits for PMP entry 22; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 22; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
52:51

pmp22cfg.A

RW

Address-matching mode for PMP entry 22.

pmp22cfg.A (bits 52:51) — Address-matching mode for PMP entry 22.

What This Field Controls

  • - Address-matching mode for PMP entry 22.

Common Values

pmp22cfg.A
0OFF

PMP entry 22 is disabled and matches no addresses.

1TOR

PMP entry 22 uses top-of-range matching; the upper bound comes from pmpaddr22, and the lower bound comes from pmpaddr21.

2NA4

PMP entry 22 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 22 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr22.

Open Official Manual
50

pmp22cfg.X

RW

Execute permission for PMP entry 22.

pmp22cfg.X (bit 50) — Execute permission for PMP entry 22.

What This Field Controls

  • - Execute permission for PMP entry 22.

Common Values

pmp22cfg.X
0Execute denied

PMP entry 22 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 22 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
49

pmp22cfg.W

RW

Write permission for PMP entry 22.

pmp22cfg.W (bit 49) — Write permission for PMP entry 22.

What This Field Controls

  • - Write permission for PMP entry 22.

Common Values

pmp22cfg.W
0Write denied

PMP entry 22 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 22 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
48

pmp22cfg.R

RW

Read permission for PMP entry 22.

pmp22cfg.R (bit 48) — Read permission for PMP entry 22.

What This Field Controls

  • - Read permission for PMP entry 22.

Common Values

pmp22cfg.R
0Read denied

PMP entry 22 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 22 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
63

pmp23cfg.L

RW

Lock bit for PMP entry 23.

pmp23cfg.L (bit 63) — Lock bit for PMP entry 23.

What This Field Controls

  • - Lock bit for PMP entry 23.

Common Values

pmp23cfg.L
0Unlocked

PMP entry 23 is not locked; this entry's configuration may be modified under WARL rules. M-mode accesses matching this entry succeed, and R/W/X permissions constrain only S/U effective-privilege accesses. Note that pmpaddr23 may still be locked by a later locked TOR entry.

1Locked

PMP entry 23 is locked; writes to pmp23cfg and pmpaddr23 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr22 is also locked.

Open Official Manual
62:61

pmp23cfg.reserved

RO

Reserved bits for PMP entry 23; writes follow WARL/reserved-bit rules.

pmp23cfg.reserved (bits 62:61) — Reserved bits for PMP entry 23; writes follow WARL/reserved-bit rules.

What This Field Controls

  • - Reserved bits for PMP entry 23; writes follow WARL/reserved-bit rules.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
60:59

pmp23cfg.A

RW

Address-matching mode for PMP entry 23.

pmp23cfg.A (bits 60:59) — Address-matching mode for PMP entry 23.

What This Field Controls

  • - Address-matching mode for PMP entry 23.

Common Values

pmp23cfg.A
0OFF

PMP entry 23 is disabled and matches no addresses.

1TOR

PMP entry 23 uses top-of-range matching; the upper bound comes from pmpaddr23, and the lower bound comes from pmpaddr22.

2NA4

PMP entry 23 matches a naturally aligned four-byte region; if the platform PMP grain does not support NA4, this encoding is not selectable.

3NAPOT

PMP entry 23 matches a naturally aligned power-of-two region of at least 8 bytes, with the size encoded in low-order bits of pmpaddr23.

Open Official Manual
58

pmp23cfg.X

RW

Execute permission for PMP entry 23.

pmp23cfg.X (bit 58) — Execute permission for PMP entry 23.

What This Field Controls

  • - Execute permission for PMP entry 23.

Common Values

pmp23cfg.X
0Execute denied

PMP entry 23 does not grant execute permission; matching S/U instruction fetches fail, while M-mode instruction fetches are constrained by this bit only when this entry is locked.

1Execute permitted

PMP entry 23 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
57

pmp23cfg.W

RW

Write permission for PMP entry 23.

pmp23cfg.W (bit 57) — Write permission for PMP entry 23.

What This Field Controls

  • - Write permission for PMP entry 23.

Common Values

pmp23cfg.W
0Write denied

PMP entry 23 does not grant write permission; matching S/U store, AMO, and other write-class accesses fail, while M-mode writes are constrained by this bit only when this entry is locked.

1Write permitted (requires R=1)

PMP entry 23 grants write permission only when R=1; the R=0 and W=1 combination is officially reserved and is not a portable configuration.

Open Official Manual
56

pmp23cfg.R

RW

Read permission for PMP entry 23.

pmp23cfg.R (bit 56) — Read permission for PMP entry 23.

What This Field Controls

  • - Read permission for PMP entry 23.

Common Values

pmp23cfg.R
0Read denied

PMP entry 23 does not grant read permission; matching S/U read accesses fail, while M-mode reads are constrained by this bit only when this entry is locked.

1Read permitted

PMP entry 23 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual

What To Check First When Reading This CSR

  • - First confirm that the current hart implements pmpcfg4; unimplemented or insufficiently privileged accesses raise an illegal-instruction exception.
  • - Use address 0x3A4 and the lowest access privilege (Machine) to decide whether software may read it directly.
  • - Do not assume fixed values for reserved, WARL, or WLRL bits; interpret the value according to the specification and implementation.

Risk Checks Before Writing

  • - Preserve bits that are not being changed so reserved or implementation-defined fields are not written with invalid values.
  • - Prefer CSRRS/CSRRC for local set/clear operations to avoid CSRRW overwriting concurrently updated status bits.

Put It Back Into A Real Flow

1

During initialization or the relevant privileged flow, software reads pmpcfg4 to observe the current state.

2

Modify only the target fields while preserving all other bits.

3

Read back the CSR or validate through later trap, interrupt, or context-switch behavior that the setting took effect.