Skip to content

Commit c1cc3c5

Browse files
Merge remote-tracking branch 'origin/213-add-rva23-profile' into issue-276-retire-MC-1-Google-Doc
2 parents 8ed86f8 + 89726fd commit c1cc3c5

File tree

4 files changed

+719
-0
lines changed

4 files changed

+719
-0
lines changed

arch/profile_release/RVA23.yaml

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
$schema: profile_schema.json#
2+
kind: profile
3+
name: RVA23
4+
marketing_name: RVA23
5+
class: RVA
6+
release: 23
7+
state: ratified # current status ["ratified", "development"]
8+
ratification_date: "2023-04-03"
9+
# Semantic versions within the release
10+
versions:
11+
- version: "1.0.0"
12+
13+
introduction: |
14+
This profile release targets 64-bit application processors for markets
15+
requiring a high-degree of binary compatibility between compliant implementations.
16+
description: |
17+
This profile release is intended to be used for 64-bit application
18+
processors running rich OS stacks. Only user-mode and
19+
supervisor-mode profiles are specified in this release.
20+
21+
NOTE: There is no machine-mode profile currently defined for this release.
22+
A machine-mode profile for application processors would only be used in specifying platforms for
23+
portable machine-mode software. Given the relatively low volume of
24+
portable M-mode software in this domain, the wide variety of potential
25+
M-mode code, and the very specific needs of each type of M-mode
26+
software, we are not specifying individual M-mode ISA requirements in this release.
27+
28+
NOTE: Only XLEN=64 application processor profiles are currently defined.
29+
It would be possible to also define very similar XLEN=32 variants.
30+
31+
profiles:
32+
RVA23U64:
33+
marketing_name: RVA23U64
34+
mode: Unpriv
35+
base: 64
36+
release: RVA23
37+
introduction: |
38+
The RVA23U64 profile specifies the ISA features available to user-mode
39+
execution environments in 64-bit applications processors. This is the
40+
most important profile within application processors in
41+
terms of the amount of software that targets this profile.
42+
extensions:
43+
#########################################################################
44+
# imported from RVB23U64
45+
#########################################################################
46+
$inherits: "RVB23.yaml#/profiles/RVB23U64/extensions"
47+
$remove: Zvkg
48+
$remove: Zvknc
49+
$remove: Zvksc
50+
$remove: Zkn
51+
$remove: Zks
52+
53+
#########################################################################
54+
# MANDATORY extensions in RVA23U64 (that were optional in RVB23U64)
55+
#########################################################################
56+
57+
Zfhmin:
58+
presence: mandatory
59+
60+
V:
61+
presence: mandatory
62+
63+
Zvfhmin:
64+
presence: mandatory
65+
66+
Zvbb:
67+
presence: mandatory
68+
69+
Zvkt:
70+
presence: mandatory
71+
72+
Supm:
73+
presence: mandatory
74+
75+
#--------------------------------------------
76+
# Zvbc is an expansion option in RVB23U64
77+
# (but is not intended to be made mandatory in future RVB Profiles)
78+
#
79+
# It is listed in RVA23U64 as a *development* option,
80+
# as it *is* intended to become mandatory in future RVA Profiles.
81+
#--------------------------------------------
82+
Zvbc:
83+
presence:
84+
optional: development
85+
86+
87+
#########################################################################
88+
# TRANSITORY EXPANSION extensions in RVA23U64
89+
#########################################################################
90+
91+
#--------------------------------------------
92+
# (there are no Transitory expansion options in RVA23U64)
93+
#--------------------------------------------
94+
95+
96+
97+
RVA23S64:
98+
marketing_name: RVA23S64
99+
mode: S
100+
base: 64
101+
release: RVA23
102+
introduction: |
103+
The RVA23S64 profile specifies the ISA features available to supervisor-mode
104+
execution environments in 64-bit applications processors.
105+
An ECALL in user mode causes a contained trap to supervisor mode.
106+
An ECALL in supervisor mode causes a requested trap to the execution environment.
107+
extensions:
108+
#########################################################################
109+
# imported from RVB23U64
110+
#########################################################################
111+
$inherits: "RVB23.yaml#/profiles/RVB23S64/extensions"
112+
113+
#########################################################################
114+
# MANDATORY extensions in RVA23S64 (that were optional in RVB23S64)
115+
#########################################################################
116+
117+
Ssnpm:
118+
presence: mandatory
119+
# Pointer masking, with *senvcfg*.PME supporting, at minimum
120+
121+
Sha:
122+
presence: mandatory
123+
# collection of Hypervisor extensions

0 commit comments

Comments
 (0)