Skip to content

Commit e14bed4

Browse files
Added priv modes and related specs to CTP by moving it from CRD into templates they can share.
1 parent c8da061 commit e14bed4

File tree

6 files changed

+34
-26
lines changed

6 files changed

+34
-26
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
=== Privileged Modes
2+
3+
|===
4+
| M | S | U | VS | VU
5+
6+
| <% if proc_cert_class.mandatory_priv_modes.include?('M') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
7+
| <% if proc_cert_class.mandatory_priv_modes.include?('S') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
8+
| <% if proc_cert_class.mandatory_priv_modes.include?('U') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
9+
| <% if proc_cert_class.mandatory_priv_modes.include?('VS') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
10+
| <% if proc_cert_class.mandatory_priv_modes.include?('VU') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
11+
12+
|===
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
=== Related Specifications
2+
3+
[cols="2,2,3,3,3"]
4+
|===
5+
| Certificate Model | TSC Profile | Unpriv ISA Manual | Priv ISA Manual | Debug Manual
6+
7+
| <%= proc_cert_model.name %>
8+
| <%= proc_cert_model.tsc_profile.nil? ? "No profile" : proc_cert_model.tsc_profile.marketing_name %>
9+
| <%= proc_cert_model.unpriv_isa_manual_revision %>
10+
| <%= proc_cert_model.priv_isa_manual_revision %>
11+
| <%= proc_cert_model.debug_manual_revision %>
12+
|===

backends/proc_crd/tasks.rake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ Dir.glob("#{$root}/arch/proc_cert_model/*.yaml") do |f|
2626
"#{$root}/backends/portfolio/templates/beginning.adoc.erb",
2727
"#{$root}/backends/proc_cert/templates/typographic.adoc.erb",
2828
"#{$root}/backends/proc_cert/templates/rev_history.adoc.erb",
29+
"#{$root}/backends/proc_cert/templates/related_specs.adoc.erb",
30+
"#{$root}/backends/proc_cert/templates/priv_modes.adoc.erb",
31+
"#{$root}/backends/proc_cert/templates/rev_history.adoc.erb",
2932
"#{PROC_CRD_DOC_DIR}/templates/proc_crd.adoc.erb"
3033
] do |t|
3134
proc_cert_create_adoc("#{PROC_CRD_DOC_DIR}/templates/proc_crd.adoc.erb", t.name, model_name)

backends/proc_crd/templates/proc_crd.adoc.erb

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -137,32 +137,8 @@ It is OUT-OF-SCOPE for certification tests to write all possible values of WPRI
137137
(especially if they are more than just a few bits) and certification tests aren't intended to be comprehensive
138138
verification test suites anyways.
139139

140-
=== Related Specifications
141-
142-
[cols="2,2,3,3,3"]
143-
|===
144-
| Certificate Model | TSC Profile | Unpriv ISA Manual | Priv ISA Manual | Debug Manual
145-
146-
| <%= proc_cert_model.name %>
147-
| <%= proc_cert_model.tsc_profile.nil? ? "No profile" : proc_cert_model.tsc_profile.marketing_name %>
148-
| <%= proc_cert_model.unpriv_isa_manual_revision %>
149-
| <%= proc_cert_model.priv_isa_manual_revision %>
150-
| <%= proc_cert_model.debug_manual_revision %>
151-
|===
152-
153-
=== Privileged Modes
154-
155-
|===
156-
| M | S | U | VS | VU
157-
158-
| <% if proc_cert_class.mandatory_priv_modes.include?('M') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
159-
| <% if proc_cert_class.mandatory_priv_modes.include?('S') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
160-
| <% if proc_cert_class.mandatory_priv_modes.include?('U') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
161-
| <% if proc_cert_class.mandatory_priv_modes.include?('VS') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
162-
| <% if proc_cert_class.mandatory_priv_modes.include?('VU') -%> MANDATORY <% else -%> OUT-OF-SCOPE <% end -%>
163-
164-
|===
165-
140+
<%= proc_cert_design.include_erb("related_specs.adoc.erb") %>
141+
<%= proc_cert_design.include_erb("priv_modes.adoc.erb") %>
166142
<<<
167143
== Extensions
168144

backends/proc_ctp/tasks.rake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ Dir.glob("#{$root}/arch/proc_cert_model/*.yaml") do |f|
3131
"#{$root}/backends/portfolio/templates/test_procedures.adoc.erb",
3232
"#{$root}/backends/proc_cert/templates/typographic.adoc.erb",
3333
"#{$root}/backends/proc_cert/templates/rev_history.adoc.erb",
34+
"#{$root}/backends/proc_cert/templates/related_specs.adoc.erb",
35+
"#{$root}/backends/proc_cert/templates/priv_modes.adoc.erb",
3436
"#{PROC_CTP_DOC_DIR}/templates/proc_ctp.adoc.erb"
3537
] do |t|
3638
# Ensure that the required submodule repositories are up-to-date.

backends/proc_ctp/templates/proc_ctp.adoc.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ The specific rules for updating the version number for a CTP are as follows:
8282

8383
<%= proc_cert_design.include_erb("proc_naming_scheme.adoc.erb") %>
8484

85+
<%= proc_cert_design.include_erb("related_specs.adoc.erb") %>
86+
<%= proc_cert_design.include_erb("priv_modes.adoc.erb") %>
87+
8588
== Coverage Points
8689

8790
This section contains a view of the coverage point information organized by kind

0 commit comments

Comments
 (0)