Skip to content

Commit

Permalink
Many cleanups to get better quality profiles. Also changed ratificati…
Browse files Browse the repository at this point in the history
…on_date from null to unknown to be consistent.
  • Loading branch information
james-ball-qualcomm committed Dec 4, 2024
1 parent 4acf3ad commit db874da
Show file tree
Hide file tree
Showing 28 changed files with 141 additions and 91 deletions.
2 changes: 1 addition & 1 deletion arch/ext/Smcdeleg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ doc_license:
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
repositories:
- url: https://github.com/riscvarchive/riscv-smcdeleg-ssccfg
url: https://github.com/riscvarchive/riscv-smcdeleg-ssccfg/releases/download/v1.0.0/riscv-smcdeleg-ssccfg-v1.0.0.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Ssccfg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
url: https://docs.google.com/document/d/1s-GeH5XpHBLzbQZucA8DPA7vvF7Xvf_nrPbrU2YLBcE/edit#heading=h.yyrgtolcaczx
2 changes: 1 addition & 1 deletion arch/ext/Ssccptr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
repositories:
- url: https://github.com/riscv/riscv-profiles
Expand Down
9 changes: 4 additions & 5 deletions arch/ext/Sstc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
$schema: "ext_schema.json#"
kind: extension
name: Sstc
long_name: Superivisor mode timer interrupts
description: Superivisor mode timer interrupts
long_name: Supervisor-mode timer interrupts
description: Supervisor-mode timer interrupts
type: privileged
versions:
- version: "0.9.0"
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://drive.google.com/file/d/1m84Re2yK8m_vbW7TspvevCDR82MOBaSX/view?usp=drive_link
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Sstvala.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
repositories:
- url: https://github.com/riscv/riscv-profiles
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sstvecd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
repositories:
- url: https://github.com/riscv/riscv-profiles
Expand Down
15 changes: 15 additions & 0 deletions arch/ext/Ssu64xl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# yaml-language-server: $schema=../../schemas/ext_schema.json

$schema: "ext_schema.json#"
kind: extension
name: Ssu64xl
long_name: UXLEN=64 must be supported
description: |
`sstatus.UXL` must be capable of holding the value 2 (i.e., UXLEN=64 must be supported).
[NOTE]
This extension was ratified as part of the RVA20 profile.
versions:
- version: "1.0.0"
state: ratified
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Svbare.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
requires:
name: S
param_constraints:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Svpbmt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
requires:
name: Sv39
param_constraints:
Expand Down
8 changes: 5 additions & 3 deletions arch/ext/U.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
$schema: "ext_schema.json#"
kind: extension
name: U
long_name: User-level privilege mode
description: User-level privilege mode
long_name: User-mode privilege level
description: |
User-mode privilege level is supported by an implementation if the U extension is present.
Note that the RISC-V ISA doens't formally define a U extension and it is only discussed in the Privileged ISA manual.
type: privileged
versions:
- version: "1.12.0"
- version: "1.0.0"
state: ratified
ratification_date: 2019-12
params:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/V.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ long_name: Variable-length vector
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
description: |
TODO
params:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Za128rs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
param_constraints:
LRSC_RESERVATION_STRATEGY:
schema:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Zic64b.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type: privileged
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
repositories:
- url: https://github.com/riscv/riscv-profiles
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Ziccamoa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Ziccif.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Zicclsm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
param_constraints:
MISALIGNED_LDST:
schema:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Ziccrse.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ description: |
versions:
- version: "1.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Zicsr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ type: unprivileged
versions:
- version: "2.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Zifencei.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ type: unprivileged
versions:
- version: "2.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Zihintpause.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,4 @@ type: unprivileged
versions:
- version: "2.0.0"
state: ratified
ratification_date: null
ratification_date: unknown
2 changes: 1 addition & 1 deletion arch/ext/Zkt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ versions:
- name: Claire Wolf
- version: 1.0.1
state: ratified
ratification_date: null
ratification_date: unknown
changes:
- Fix typos to show that `c.srli`, `c.srai`, and `c.slli` are Zkt instructions in RV64.
company:
Expand Down
14 changes: 7 additions & 7 deletions arch/profile_release/RVA20.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,6 @@ RVA20:
presence: mandatory
M:
presence: mandatory
U:
presence: mandatory
version: "~> 2.0"
param_constraints:
U_MODE_ENDIANESS:
schema:
const: little
Zicntr:
presence: mandatory
Ziccif:
Expand Down Expand Up @@ -138,6 +131,13 @@ RVA20:
supervisor-mode execution environment in 64-bit applications
processors. RVA20S64 is based on privileged architecture version 1.11.
extensions:
U:
presence: mandatory
version: "~> 1.0"
param_constraints:
U_MODE_ENDIANESS:
schema:
const: little
S:
presence: mandatory
version: "~> 1.11"
Expand Down
26 changes: 15 additions & 11 deletions backends/profile_doc/templates/profile.adoc.erb
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ Extensions present in a profile are also present in higher-privileged profiles i
=== <%= ext.name %> Extension
<%= ext.long_name %>
.Presence
.<%= ext.name %> Extension Presence
|===
| Profile | v<%= ext.versions.map { |v| v.version }.join(" | v") %>
Expand All @@ -453,27 +453,31 @@ Extensions present in a profile are also present in higher-privileged profiles i
<% ext.versions.each do |v| -%>
<%= v.version %>::
State:::
<%= v.state %>
<% if v.state == "ratified" -%>
Ratification date:::
<%= v.ratification_date %>
<% end # if %>
<% unless v.changes.empty? -%>
Changes:::
<% v.changes.each do |c| -%>
* <%= c %>
<% end -%>
<%- end -%>
<%- unless v.url.nil? -%>
<% end -%>
<% unless v.url.nil? -%>
Ratification document:::
<%= v.url %>
<%- end -%>
<%- unless v.implications -%>
<% end -%>
<% unless v.implications -%>
Implies:::
<%- v.implications.each do |i| -%>
<% v.implications.each do |i| -%>
* `<%= i.name %>` version <%= i.version %>
<%- end -%>
<%- end -%>
<%- end -%>
<% end -%>
<% end -%>
<% end -%>
==== Synopsis
Expand All @@ -484,8 +488,8 @@ Extensions present in a profile are also present in higher-privileged profiles i
:leveloffset: -3
// TODO: GitHub issue 92: Use version specified by each profile and add version info to inst table below.
<%- insts = arch_def.instructions.select { |i| i.defined_by?(ext.min_version) } -%>
<%- unless insts.empty? -%>
<% insts = arch_def.instructions.select { |i| i.defined_by?(ext.min_version) } -%>
<% unless insts.empty? -%>
==== Instructions
The following instructions are added by this extension:
Expand Down
2 changes: 1 addition & 1 deletion cfgs/generic_rv64/arch_overlay/ext/Xcustom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ long_name: A new custom extension!
type: unprivileged
versions:
- version: "0.1.0"
ratification_date: null
ratification_date: unknown
state: development
description: |
A new custom extension!
4 changes: 2 additions & 2 deletions lib/arch_obj_models/certificate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def when_pretty
"Parameter #{param_name} == #{param_value}"
end
else
raise "TODO: when type #{key} not implemented"
raise "Type #{key} not implemented"
end
end.flatten.join(" and ")
end
Expand Down Expand Up @@ -111,7 +111,7 @@ def when_pretty
"Parameter #{param_name} == #{param_value}"
end
else
raise "TODO: when type #{key} not implemented"
raise "Type #{key} not implemented"
end
end.flatten.join(" and ")
end
Expand Down
Loading

0 comments on commit db874da

Please sign in to comment.