Skip to content

Commit c6e0747

Browse files
author
Derek Hower
committed
Merge remote-tracking branch 'rvi/main' into 147-fix-typos-found-in-idl-documentation
2 parents c45c561 + 98126d8 commit c6e0747

File tree

682 files changed

+34857
-392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

682 files changed

+34857
-392
lines changed

arch/crd/MC-1.yaml

Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ MC-1:
6363
MTVAL_WIDTH: {} # Unconstrained
6464
MTVEC_MODES: {} # Unconstrained
6565
PHYS_ADDR_WIDTH: {} # Unconstrained
66+
MISALIGNED_LDST: {} # Unconstrained
67+
MISALIGNED_LDST_EXCEPTION_PRIORITY : {} # Unconstrained
68+
MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE: {} # Unconstrained
69+
MISALIGNED_SPLIT_STRATEGY:
70+
schema:
71+
const: by_byte
6672
PRECISE_SYNCHRONOUS_EXCEPTIONS:
6773
schema:
6874
const: true
@@ -77,59 +83,4 @@ MC-1:
7783
const: little
7884
XLEN:
7985
schema:
80-
const: 32
81-
82-
requirement_groups:
83-
- name: MC-Unpriv
84-
description: |
85-
The MC-Unpriv defines unprivileged ISA requirements.
86-
Note that unprivileged ISA features are those that are usable in all privilege modes;
87-
they aren't only usable in U-mode (User-mode).
88-
It is unfortunate that both “Unprivileged” and “User” start with the letter “U” but they
89-
aren't the same thing.
90-
91-
requirements:
92-
- name: REQ-UINST-001
93-
description: Should use little-endian byte order
94-
95-
- name: REQ-UCSR-001-a
96-
description: Should raise an Illegal Instruction exception when writing to the `cycle` CSR
97-
98-
- name: REQ-UCSR-001-b
99-
description: Should return the XLEN least-significant bits of the `mcycle` CSR when reading the `cycle` CSR
100-
101-
- name: REQ-UCSR-002-a
102-
description: Should raise an Illegal Instruction exception when writing to the `time` CSR
103-
104-
- name: REQ-UCSR-002-b
105-
description: Should return the XLEN least-significant bits of the `mtime` CSR when reading the `time` CSR
106-
when:
107-
param:
108-
TIME_CSR_IMPLEMENTED: true
109-
110-
- name: REQ-UCSR-002-c
111-
description: Should raise an Illegal Instruction exception when reading the `time` CSR
112-
when:
113-
param:
114-
TIME_CSR_IMPLEMENTED: false
115-
116-
- name: MC-Unpriv-32
117-
when:
118-
xlen: 32
119-
description: |
120-
The MC-Unpriv-32 defines unprivileged ISA requirements specific to 32-bit processors.
121-
requirements:
122-
- name: REQ-M32CSR-001-a
123-
description: Should raise an illegal instruction trap when writing the 'cycleh' CSR
124-
- name: REQ-M32CSR-001-b
125-
description: Should return the most-significant 32-bits of the `mcycle` CSR when reading `cycleh`
126-
- name: REQ-M32CSR-002
127-
description: Should return the most-significant 32-bits of the `minstret` CSR when reading `instreth`
128-
129-
- name: MC-Priv
130-
description: |
131-
The MC-Priv defines Privileged ISA requirements.
132-
requirements:
133-
- name: REQ-PRIV-HARTID
134-
description: |
135-
One hart in system has to have a HARTID of 0. Reading `mhartid` on other CSRs provides some value.
86+
const: 32

arch/csr/medelegh.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,7 @@ medelegh:
88
base: 32
99
description: |
1010
Alias of the upper 32 bits of `medeleg`.
11-
definedBy: I
11+
definedBy:
12+
name: S
13+
version: ">= 1.13"
1214
fields: {}

arch/csr/mip.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ mip:
55
address: 0x344
66
priv_mode: M
77
description: Machine Interrupt Pending bits
8-
length: 64
8+
length: MXLEN
99
definedBy: Sm
1010
fields:
1111
SSIP:

arch/csr/mscratch.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ mscratch:
44
long_name: Machine Scratch Register
55
address: 0x340
66
priv_mode: M
7-
length: 64
7+
length: MXLEN
88
description: Scratch register for software use. Bits are not interpreted by hardware.
9-
definedBy: U # actually, defined by RV64, but must implement U-mode for this CSR to exist
9+
definedBy: Sm
1010
fields:
1111
SCRATCH:
12-
location: 63-0
12+
location_rv32: 31-0
13+
location_rv64: 63-0
1314
description: Scratch value
1415
type: RW
1516
reset_value: 0

arch/csr/mseccfg.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ mseccfg:
88
description: Machine Security Configuration
99
definedBy:
1010
name: Sm
11-
version: ">=1.12"
11+
version: ">= 1.12"
1212
fields: {}
1313

arch/csr/mseccfgh.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ mseccfgh:
88
description: Machine Security Configuration
99
definedBy:
1010
name: Sm
11-
version: ">=1.12"
11+
version: ">= 1.12"
1212
fields: {}
1313

arch/csr/mstatush.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ mstatush:
77
base: 32
88
length: 32
99
description: The mstatus register tracks and controls the hart's current operating state.
10-
definedBy: Sm
10+
definedBy:
11+
name: Sm
12+
version: ">= 1.12"
1113
fields:
1214
MPV:
1315
location: 7

arch/csr/mtval.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ mtval:
55
address: 0x343
66
description: Holds trap-specific information
77
priv_mode: M
8-
length: 64
8+
length: MXLEN
99
definedBy: Sm
1010
fields:
1111
VALUE:
12-
location: 63-0
12+
location_rv32: 31-0
13+
location_rv64: 63-0
1314
description: |
1415
Written with trap-specific information when a trap is taken into M-mode.
1516

arch/csr/mtvec.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ mtvec:
44
long_name: Machine Trap Vector Control
55
address: 0x305
66
priv_mode: M
7-
length: 64
7+
length: MXLEN
88
description: Controls where traps jump.
99
definedBy: Sm
1010
fields:
1111
BASE:
12-
location: 63-2
12+
location_rv64: 63-2
13+
location_rv32: 31-2
1314
description: |
14-
Bits [63:2] of the exception vector physical address for any trap taken in M-mode.
15+
Bits [MXLEN-1:2] of the exception vector physical address for any trap taken in M-mode.
1516
1617
The implementation physical memory map may resitrict which values are legal in this field.
1718
type: RW-R

arch/ext/Sm.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ Sm:
231231
description: |
232232
Does the implementation perform non-atomic misaligned loads and stores to main memory
233233
(does *not* affect misaligned support to device memory)?
234-
If not, the implementation throws a misaligned exception.
234+
If not, the implementation always throws a misaligned exception.
235235
schema:
236236
type: boolean
237237
MISALIGNED_LDST_EXCEPTION_PRIORITY:
@@ -247,21 +247,21 @@ Sm:
247247
! high ! Misaligned load/store/AMO exceptions are always higher priority than load/store/AMO page-fault and access-fault exceptions.
248248
!===
249249
250-
MISALIGNED_LDST_EXCEPTION_PRIORITY cannot be "high" when MAX_MISALIGNED_ATOMICITY_GRANULE_SIZE
250+
MISALIGNED_LDST_EXCEPTION_PRIORITY cannot be "high" when MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE
251251
is non-zero, since the atomicity of an access cannot be determined in that case until after
252252
address translation.
253253
schema:
254254
type: string
255255
enum: ["low", "high"]
256256
extra_validation: |
257-
assert (MISALIGNED_LDST_EXCEPTION_PRIORITY == "low") if MAX_MISALIGNED_ATOMICITY_GRANULE_SIZE.positive?
258-
MAX_MISALIGNED_ATOMICITY_GRANULE_SIZE:
257+
assert (MISALIGNED_LDST_EXCEPTION_PRIORITY == "low") if MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE.positive?
258+
MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE:
259259
description: |
260260
The maximum granule size, in bytes, that the hart can atomically perform a
261-
misaligned load/store/AMO without raising a Misaligned exception. When MAX_MISALIGNED_ATOMICITY_GRANULE_SIZE is 0, the hart
261+
misaligned load/store/AMO without raising a Misaligned exception. When MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE is 0, the hart
262262
cannot atomically perform a misaligned load/store/AMO. When a power of two, the hart can
263263
atomically load/store/AMO a misaligned access that is fully contained in a
264-
MAX_MISALIGNED_ATOMICITY_GRANULE_SIZE-aligned region.
264+
MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE-aligned region.
265265
266266
[NOTE]
267267
Even if the hart is capable of performing a misaligned load/store/AMO atomically,

0 commit comments

Comments
 (0)