CSR Bit Fields

RISC-V pmpcfg0 CSR Register

Address 0x3A0Privilege MachineAccess RW / XLENMachine physical memory protection CSRs

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

Field Map

Understand pmpcfg0 By Bit Fields

48 key fields
7

pmp0cfg.L

RW

Lock bit for PMP entry 0.

pmp0cfg.L (bit 7) — Lock bit for PMP entry 0.

What This Field Controls

  • - Lock bit for PMP entry 0.

Common Values

pmp0cfg.L
0Unlocked

PMP entry 0 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 pmpaddr0 may still be locked by a later locked TOR entry.

1Locked

PMP entry 0 is locked; writes to pmp0cfg and pmpaddr0 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. For entry 0, the TOR lower bound is zero, so locking does not involve an earlier pmpaddr.

Open Official Manual
6:5

pmp0cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 0; 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

pmp0cfg.A

RW

Address-matching mode for PMP entry 0.

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

What This Field Controls

  • - Address-matching mode for PMP entry 0.

Common Values

pmp0cfg.A
0OFF

PMP entry 0 is disabled and matches no addresses.

1TOR

PMP entry 0 uses top-of-range matching; the upper bound comes from pmpaddr0, and the lower bound is zero.

2NA4

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

3NAPOT

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

Open Official Manual
2

pmp0cfg.X

RW

Execute permission for PMP entry 0.

pmp0cfg.X (bit 2) — Execute permission for PMP entry 0.

What This Field Controls

  • - Execute permission for PMP entry 0.

Common Values

pmp0cfg.X
0Execute denied

PMP entry 0 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 0 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
1

pmp0cfg.W

RW

Write permission for PMP entry 0.

pmp0cfg.W (bit 1) — Write permission for PMP entry 0.

What This Field Controls

  • - Write permission for PMP entry 0.

Common Values

pmp0cfg.W
0Write denied

PMP entry 0 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 0 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

pmp0cfg.R

RW

Read permission for PMP entry 0.

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

What This Field Controls

  • - Read permission for PMP entry 0.

Common Values

pmp0cfg.R
0Read denied

PMP entry 0 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 0 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
15

pmp1cfg.L

RW

Lock bit for PMP entry 1.

pmp1cfg.L (bit 15) — Lock bit for PMP entry 1.

What This Field Controls

  • - Lock bit for PMP entry 1.

Common Values

pmp1cfg.L
0Unlocked

PMP entry 1 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 pmpaddr1 may still be locked by a later locked TOR entry.

1Locked

PMP entry 1 is locked; writes to pmp1cfg and pmpaddr1 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr0 is also locked.

Open Official Manual
14:13

pmp1cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 1; 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

pmp1cfg.A

RW

Address-matching mode for PMP entry 1.

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

What This Field Controls

  • - Address-matching mode for PMP entry 1.

Common Values

pmp1cfg.A
0OFF

PMP entry 1 is disabled and matches no addresses.

1TOR

PMP entry 1 uses top-of-range matching; the upper bound comes from pmpaddr1, and the lower bound comes from pmpaddr0.

2NA4

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

3NAPOT

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

Open Official Manual
10

pmp1cfg.X

RW

Execute permission for PMP entry 1.

pmp1cfg.X (bit 10) — Execute permission for PMP entry 1.

What This Field Controls

  • - Execute permission for PMP entry 1.

Common Values

pmp1cfg.X
0Execute denied

PMP entry 1 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 1 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
9

pmp1cfg.W

RW

Write permission for PMP entry 1.

pmp1cfg.W (bit 9) — Write permission for PMP entry 1.

What This Field Controls

  • - Write permission for PMP entry 1.

Common Values

pmp1cfg.W
0Write denied

PMP entry 1 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 1 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

pmp1cfg.R

RW

Read permission for PMP entry 1.

pmp1cfg.R (bit 8) — Read permission for PMP entry 1.

What This Field Controls

  • - Read permission for PMP entry 1.

Common Values

pmp1cfg.R
0Read denied

PMP entry 1 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 1 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
23

pmp2cfg.L

RW

Lock bit for PMP entry 2.

pmp2cfg.L (bit 23) — Lock bit for PMP entry 2.

What This Field Controls

  • - Lock bit for PMP entry 2.

Common Values

pmp2cfg.L
0Unlocked

PMP entry 2 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 pmpaddr2 may still be locked by a later locked TOR entry.

1Locked

PMP entry 2 is locked; writes to pmp2cfg and pmpaddr2 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr1 is also locked.

Open Official Manual
22:21

pmp2cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 2; 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

pmp2cfg.A

RW

Address-matching mode for PMP entry 2.

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

What This Field Controls

  • - Address-matching mode for PMP entry 2.

Common Values

pmp2cfg.A
0OFF

PMP entry 2 is disabled and matches no addresses.

1TOR

PMP entry 2 uses top-of-range matching; the upper bound comes from pmpaddr2, and the lower bound comes from pmpaddr1.

2NA4

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

3NAPOT

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

Open Official Manual
18

pmp2cfg.X

RW

Execute permission for PMP entry 2.

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

What This Field Controls

  • - Execute permission for PMP entry 2.

Common Values

pmp2cfg.X
0Execute denied

PMP entry 2 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 2 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
17

pmp2cfg.W

RW

Write permission for PMP entry 2.

pmp2cfg.W (bit 17) — Write permission for PMP entry 2.

What This Field Controls

  • - Write permission for PMP entry 2.

Common Values

pmp2cfg.W
0Write denied

PMP entry 2 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 2 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

pmp2cfg.R

RW

Read permission for PMP entry 2.

pmp2cfg.R (bit 16) — Read permission for PMP entry 2.

What This Field Controls

  • - Read permission for PMP entry 2.

Common Values

pmp2cfg.R
0Read denied

PMP entry 2 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 2 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
31

pmp3cfg.L

RW

Lock bit for PMP entry 3.

pmp3cfg.L (bit 31) — Lock bit for PMP entry 3.

What This Field Controls

  • - Lock bit for PMP entry 3.

Common Values

pmp3cfg.L
0Unlocked

PMP entry 3 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 pmpaddr3 may still be locked by a later locked TOR entry.

1Locked

PMP entry 3 is locked; writes to pmp3cfg and pmpaddr3 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr2 is also locked.

Open Official Manual
30:29

pmp3cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 3; 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

pmp3cfg.A

RW

Address-matching mode for PMP entry 3.

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

What This Field Controls

  • - Address-matching mode for PMP entry 3.

Common Values

pmp3cfg.A
0OFF

PMP entry 3 is disabled and matches no addresses.

1TOR

PMP entry 3 uses top-of-range matching; the upper bound comes from pmpaddr3, and the lower bound comes from pmpaddr2.

2NA4

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

3NAPOT

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

Open Official Manual
26

pmp3cfg.X

RW

Execute permission for PMP entry 3.

pmp3cfg.X (bit 26) — Execute permission for PMP entry 3.

What This Field Controls

  • - Execute permission for PMP entry 3.

Common Values

pmp3cfg.X
0Execute denied

PMP entry 3 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 3 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
25

pmp3cfg.W

RW

Write permission for PMP entry 3.

pmp3cfg.W (bit 25) — Write permission for PMP entry 3.

What This Field Controls

  • - Write permission for PMP entry 3.

Common Values

pmp3cfg.W
0Write denied

PMP entry 3 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 3 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

pmp3cfg.R

RW

Read permission for PMP entry 3.

pmp3cfg.R (bit 24) — Read permission for PMP entry 3.

What This Field Controls

  • - Read permission for PMP entry 3.

Common Values

pmp3cfg.R
0Read denied

PMP entry 3 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 3 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
39

pmp4cfg.L

RW

Lock bit for PMP entry 4.

pmp4cfg.L (bit 39) — Lock bit for PMP entry 4.

What This Field Controls

  • - Lock bit for PMP entry 4.

Common Values

pmp4cfg.L
0Unlocked

PMP entry 4 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 pmpaddr4 may still be locked by a later locked TOR entry.

1Locked

PMP entry 4 is locked; writes to pmp4cfg and pmpaddr4 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr3 is also locked.

Open Official Manual
38:37

pmp4cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 4; 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

pmp4cfg.A

RW

Address-matching mode for PMP entry 4.

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

What This Field Controls

  • - Address-matching mode for PMP entry 4.

Common Values

pmp4cfg.A
0OFF

PMP entry 4 is disabled and matches no addresses.

1TOR

PMP entry 4 uses top-of-range matching; the upper bound comes from pmpaddr4, and the lower bound comes from pmpaddr3.

2NA4

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

3NAPOT

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

Open Official Manual
34

pmp4cfg.X

RW

Execute permission for PMP entry 4.

pmp4cfg.X (bit 34) — Execute permission for PMP entry 4.

What This Field Controls

  • - Execute permission for PMP entry 4.

Common Values

pmp4cfg.X
0Execute denied

PMP entry 4 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 4 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
33

pmp4cfg.W

RW

Write permission for PMP entry 4.

pmp4cfg.W (bit 33) — Write permission for PMP entry 4.

What This Field Controls

  • - Write permission for PMP entry 4.

Common Values

pmp4cfg.W
0Write denied

PMP entry 4 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 4 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

pmp4cfg.R

RW

Read permission for PMP entry 4.

pmp4cfg.R (bit 32) — Read permission for PMP entry 4.

What This Field Controls

  • - Read permission for PMP entry 4.

Common Values

pmp4cfg.R
0Read denied

PMP entry 4 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 4 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
47

pmp5cfg.L

RW

Lock bit for PMP entry 5.

pmp5cfg.L (bit 47) — Lock bit for PMP entry 5.

What This Field Controls

  • - Lock bit for PMP entry 5.

Common Values

pmp5cfg.L
0Unlocked

PMP entry 5 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 pmpaddr5 may still be locked by a later locked TOR entry.

1Locked

PMP entry 5 is locked; writes to pmp5cfg and pmpaddr5 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr4 is also locked.

Open Official Manual
46:45

pmp5cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 5; 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

pmp5cfg.A

RW

Address-matching mode for PMP entry 5.

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

What This Field Controls

  • - Address-matching mode for PMP entry 5.

Common Values

pmp5cfg.A
0OFF

PMP entry 5 is disabled and matches no addresses.

1TOR

PMP entry 5 uses top-of-range matching; the upper bound comes from pmpaddr5, and the lower bound comes from pmpaddr4.

2NA4

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

3NAPOT

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

Open Official Manual
42

pmp5cfg.X

RW

Execute permission for PMP entry 5.

pmp5cfg.X (bit 42) — Execute permission for PMP entry 5.

What This Field Controls

  • - Execute permission for PMP entry 5.

Common Values

pmp5cfg.X
0Execute denied

PMP entry 5 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 5 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
41

pmp5cfg.W

RW

Write permission for PMP entry 5.

pmp5cfg.W (bit 41) — Write permission for PMP entry 5.

What This Field Controls

  • - Write permission for PMP entry 5.

Common Values

pmp5cfg.W
0Write denied

PMP entry 5 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 5 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

pmp5cfg.R

RW

Read permission for PMP entry 5.

pmp5cfg.R (bit 40) — Read permission for PMP entry 5.

What This Field Controls

  • - Read permission for PMP entry 5.

Common Values

pmp5cfg.R
0Read denied

PMP entry 5 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 5 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
55

pmp6cfg.L

RW

Lock bit for PMP entry 6.

pmp6cfg.L (bit 55) — Lock bit for PMP entry 6.

What This Field Controls

  • - Lock bit for PMP entry 6.

Common Values

pmp6cfg.L
0Unlocked

PMP entry 6 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 pmpaddr6 may still be locked by a later locked TOR entry.

1Locked

PMP entry 6 is locked; writes to pmp6cfg and pmpaddr6 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr5 is also locked.

Open Official Manual
54:53

pmp6cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 6; 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

pmp6cfg.A

RW

Address-matching mode for PMP entry 6.

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

What This Field Controls

  • - Address-matching mode for PMP entry 6.

Common Values

pmp6cfg.A
0OFF

PMP entry 6 is disabled and matches no addresses.

1TOR

PMP entry 6 uses top-of-range matching; the upper bound comes from pmpaddr6, and the lower bound comes from pmpaddr5.

2NA4

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

3NAPOT

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

Open Official Manual
50

pmp6cfg.X

RW

Execute permission for PMP entry 6.

pmp6cfg.X (bit 50) — Execute permission for PMP entry 6.

What This Field Controls

  • - Execute permission for PMP entry 6.

Common Values

pmp6cfg.X
0Execute denied

PMP entry 6 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 6 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
49

pmp6cfg.W

RW

Write permission for PMP entry 6.

pmp6cfg.W (bit 49) — Write permission for PMP entry 6.

What This Field Controls

  • - Write permission for PMP entry 6.

Common Values

pmp6cfg.W
0Write denied

PMP entry 6 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 6 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

pmp6cfg.R

RW

Read permission for PMP entry 6.

pmp6cfg.R (bit 48) — Read permission for PMP entry 6.

What This Field Controls

  • - Read permission for PMP entry 6.

Common Values

pmp6cfg.R
0Read denied

PMP entry 6 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 6 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
63

pmp7cfg.L

RW

Lock bit for PMP entry 7.

pmp7cfg.L (bit 63) — Lock bit for PMP entry 7.

What This Field Controls

  • - Lock bit for PMP entry 7.

Common Values

pmp7cfg.L
0Unlocked

PMP entry 7 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 pmpaddr7 may still be locked by a later locked TOR entry.

1Locked

PMP entry 7 is locked; writes to pmp7cfg and pmpaddr7 are ignored until hart reset, and R/W/X permissions apply to all privilege modes. If A=TOR, pmpaddr6 is also locked.

Open Official Manual
62:61

pmp7cfg.reserved

RO

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

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

What This Field Controls

  • - Reserved bits for PMP entry 7; 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

pmp7cfg.A

RW

Address-matching mode for PMP entry 7.

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

What This Field Controls

  • - Address-matching mode for PMP entry 7.

Common Values

pmp7cfg.A
0OFF

PMP entry 7 is disabled and matches no addresses.

1TOR

PMP entry 7 uses top-of-range matching; the upper bound comes from pmpaddr7, and the lower bound comes from pmpaddr6.

2NA4

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

3NAPOT

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

Open Official Manual
58

pmp7cfg.X

RW

Execute permission for PMP entry 7.

pmp7cfg.X (bit 58) — Execute permission for PMP entry 7.

What This Field Controls

  • - Execute permission for PMP entry 7.

Common Values

pmp7cfg.X
0Execute denied

PMP entry 7 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 7 grants execute permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
57

pmp7cfg.W

RW

Write permission for PMP entry 7.

pmp7cfg.W (bit 57) — Write permission for PMP entry 7.

What This Field Controls

  • - Write permission for PMP entry 7.

Common Values

pmp7cfg.W
0Write denied

PMP entry 7 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 7 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

pmp7cfg.R

RW

Read permission for PMP entry 7.

pmp7cfg.R (bit 56) — Read permission for PMP entry 7.

What This Field Controls

  • - Read permission for PMP entry 7.

Common Values

pmp7cfg.R
0Read denied

PMP entry 7 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 7 grants read permission when this entry matches and other PMP, PMA, and privilege rules also allow the access.

Open Official Manual
Official Basis & Search Notes

pmpcfg0 is a RW CSR in machine physical memory protection csrs at 0x3A0. Check privilege and implemented extensions before interpreting its bit fields.

pmpcfg0 address, lowest access privilege, and access class are checked against the official CSR table: 0x3A0, Machine, RW.
pmpcfg0 belongs to the physical-memory-protection path; read it with adjacent pmpcfg/pmpaddr entries rather than as an isolated field.
Modify only target fields and preserve unchanged bits; interpret WPRI and reserved fields only as the official specification and implementation define them.

What To Check First When Reading This CSR

  • - First confirm that the current hart implements pmpcfg0; unimplemented or insufficiently privileged accesses raise an illegal-instruction exception.
  • - Use address 0x3A0 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 pmpcfg0 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.

FAQ

Can pmpcfg0 be accessed from any privilege level?

Do not decide from the CSR name alone. The official CSR address encoding and tables define the lowest access privilege; this entry records pmpcfg0 as Machine. Access with insufficient privilege or to an unimplemented CSR raises an illegal-instruction exception.

What is easiest to miss when writing pmpcfg0?

Do not overwrite the whole CSR as if it were an ordinary integer. Modify only target fields, preserve unchanged bits, and follow the specification for WARL, WLRL, WPRI, or reserved fields.