Skip to content

Commit 0155d33

Browse files
authored
Merge pull request #253 from riscv-software-src/250-use-$mref-to-inherit-from-one-profile-to-another-or-one-profile-to-a-certificate
250 use $mref to inherit from one profile to another or one profile to a certificate
2 parents 74cebf0 + 9b649f6 commit 0155d33

File tree

14 files changed

+804
-839
lines changed

14 files changed

+804
-839
lines changed

Rakefile

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -287,13 +287,54 @@ task :regress do
287287
ENV["VERSIONS"] = "all"
288288
Rake::Task["gen:html_manual"].invoke
289289
Rake::Task["gen:html"].invoke("generic_rv64")
290-
Rake::Task["gen:cert_model_pdf"].invoke("MockCertificateModel")
291-
Rake::Task["gen:cert_model_pdf"].invoke("MC100")
292-
Rake::Task["gen:profile"].invoke("MockProfileRelease")
293-
Rake::Task["gen:profile"].invoke("RVA20")
294-
Rake::Task["gen:profile"].invoke("RVA22")
295-
Rake::Task["gen:profile"].invoke("RVI20")
290+
Rake::Task["#{$root}/gen/certificate_doc/pdf/MockCertificateModel.pdf"].invoke
291+
Rake::Task["#{$root}/gen/certificate_doc/pdf/MC100.pdf"].invoke
292+
Rake::Task["#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf"].invoke
293+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVA20.pdf"].invoke
294+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVA22.pdf"].invoke
295+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVI20.pdf"].invoke
296296

297297
puts
298298
puts "Regression test PASSED"
299299
end
300+
301+
desc <<~DESC
302+
Generate all certificates and profile PDFs.
303+
DESC
304+
task :cert_profile_pdfs do
305+
puts "==================================="
306+
puts "cert_profile_pdfs: Generating MC100"
307+
puts " 1st target"
308+
puts "==================================="
309+
Rake::Task["#{$root}/gen/certificate_doc/pdf/MC100.pdf"].invoke
310+
311+
puts "=================================================="
312+
puts "cert_profile_pdfs: Generating MockCertificateModel"
313+
puts " 2nd target"
314+
puts "=================================================="
315+
Rake::Task["#{$root}/gen/certificate_doc/pdf/MockCertificateModel.pdf"].invoke
316+
317+
puts "==================================="
318+
puts "cert_profile_pdfs: Generating RVA20"
319+
puts " 3rd target"
320+
puts "==================================="
321+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVA20.pdf"].invoke
322+
323+
puts "==================================="
324+
puts "cert_profile_pdfs: Generating RVA22"
325+
puts " 4th target"
326+
puts "==================================="
327+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVA22.pdf"].invoke
328+
329+
puts "==================================="
330+
puts "cert_profile_pdfs: Generating RVI20"
331+
puts " 5th target"
332+
puts "==================================="
333+
Rake::Task["#{$root}/gen/profile_doc/pdf/RVI20.pdf"].invoke
334+
335+
puts "==================================="
336+
puts "cert_profile_pdfs: Generating MockProfileRelease"
337+
puts " 6th target"
338+
puts "==================================="
339+
Rake::Task["#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf"].invoke
340+
end

arch/certificate_model/MC100.yaml

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -87,55 +87,55 @@ MC100:
8787

8888
# XXX - Remove version information since specifying priv/unpriv ISA manual should imply this.
8989
extensions:
90-
- name: I
91-
version: "~> 2.1"
92-
presence: mandatory
93-
- name: C
94-
version: "~> 2.2"
95-
presence: mandatory
96-
- name: M
97-
version: "~> 2.0"
98-
presence: mandatory
99-
- name: Zicsr
100-
version: "~> 2.0"
101-
presence: mandatory
102-
- name: Zicntr
103-
version: "~> 2.0"
104-
presence: mandatory
105-
parameters:
106-
TIME_CSR_IMPLEMENTED: {} # Unconstrained
107-
- name: Sm
108-
version: "~> 1.11.0"
109-
presence: mandatory
110-
parameters:
111-
MTVEC_BASE_ALIGNMENT_DIRECT: {} # Unconstrained
112-
MTVEC_BASE_ALIGNMENT_VECTORED: {} # Unconstrained
113-
ARCH_ID: {} # Unconstrained
114-
IMP_ID: {} # Unconstrained
115-
VENDOR_ID_BANK: {} # Unconstrained
116-
VENDOR_ID_OFFSET: {} # Unconstrained
117-
MISA_CSR_IMPLEMENTED: {} # Unconstrained
118-
MTVAL_WIDTH: {} # Unconstrained
119-
MTVEC_MODES: {} # Unconstrained
120-
PHYS_ADDR_WIDTH: {} # Unconstrained
121-
MISALIGNED_LDST: {} # Unconstrained
122-
MISALIGNED_LDST_EXCEPTION_PRIORITY : {} # Unconstrained
123-
MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE: {} # Unconstrained
124-
MISALIGNED_SPLIT_STRATEGY:
125-
schema:
126-
const: by_byte
127-
PRECISE_SYNCHRONOUS_EXCEPTIONS:
128-
schema:
129-
const: true
130-
TRAP_ON_ECALL_FROM_M:
131-
schema:
132-
const: true
133-
TRAP_ON_EBREAK:
134-
schema:
135-
const: true
136-
M_MODE_ENDIANESS:
137-
schema:
138-
const: little
139-
XLEN:
140-
schema:
141-
const: 32
90+
I:
91+
version: "~> 2.1"
92+
presence: mandatory
93+
C:
94+
version: "~> 2.2"
95+
presence: mandatory
96+
M:
97+
version: "~> 2.0"
98+
presence: mandatory
99+
Zicsr:
100+
version: "~> 2.0"
101+
presence: mandatory
102+
Zicntr:
103+
version: "~> 2.0"
104+
presence: mandatory
105+
parameters:
106+
TIME_CSR_IMPLEMENTED: {} # Unconstrained
107+
Sm:
108+
version: "~> 1.11.0"
109+
presence: mandatory
110+
parameters:
111+
MTVEC_BASE_ALIGNMENT_DIRECT: {} # Unconstrained
112+
MTVEC_BASE_ALIGNMENT_VECTORED: {} # Unconstrained
113+
ARCH_ID: {} # Unconstrained
114+
IMP_ID: {} # Unconstrained
115+
VENDOR_ID_BANK: {} # Unconstrained
116+
VENDOR_ID_OFFSET: {} # Unconstrained
117+
MISA_CSR_IMPLEMENTED: {} # Unconstrained
118+
MTVAL_WIDTH: {} # Unconstrained
119+
MTVEC_MODES: {} # Unconstrained
120+
PHYS_ADDR_WIDTH: {} # Unconstrained
121+
MISALIGNED_LDST: {} # Unconstrained
122+
MISALIGNED_LDST_EXCEPTION_PRIORITY : {} # Unconstrained
123+
MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE: {} # Unconstrained
124+
MISALIGNED_SPLIT_STRATEGY:
125+
schema:
126+
const: by_byte
127+
PRECISE_SYNCHRONOUS_EXCEPTIONS:
128+
schema:
129+
const: true
130+
TRAP_ON_ECALL_FROM_M:
131+
schema:
132+
const: true
133+
TRAP_ON_EBREAK:
134+
schema:
135+
const: true
136+
M_MODE_ENDIANESS:
137+
schema:
138+
const: little
139+
XLEN:
140+
schema:
141+
const: 32

0 commit comments

Comments
 (0)