Update riscv_compliance to riscv/riscv-compliance@5a978cf
- Switched from VMEM to ELF files when loading the verilator simulation
- Non-functional: Restructured the patch queue to be topic-oriented, not a timeline.
Signed-off-by: Philipp Wagner <phw@lowrisc.org>
diff --git a/sw/vendor/patches/riscv_compliance/0001-Add-configurable-trap-alignment-and-entry-point-to-p.patch b/sw/vendor/patches/riscv_compliance/0001-Add-configurable-trap-alignment-and-entry-point-to-p.patch
index f7ae273..5b55077 100644
--- a/sw/vendor/patches/riscv_compliance/0001-Add-configurable-trap-alignment-and-entry-point-to-p.patch
+++ b/sw/vendor/patches/riscv_compliance/0001-Add-configurable-trap-alignment-and-entry-point-to-p.patch
@@ -1,7 +1,7 @@
-From 5fb77a9e75207f4a35d0b1c4ad9f0ce7faba3814 Mon Sep 17 00:00:00 2001
+From 12ff08f286e3045323375877017286afc54dcf39 Mon Sep 17 00:00:00 2001
From: Greg Chadwick <gac@lowrisc.org>
Date: Wed, 15 Apr 2020 15:45:31 +0100
-Subject: [PATCH 1/7] Add configurable trap alignment and entry point to p
+Subject: [PATCH 1/3] Add configurable trap alignment and entry point to p
test-env
---
@@ -95,5 +95,5 @@
# increment return address
csrr x30, mepc
--
-2.26.0
+2.26.2
diff --git a/sw/vendor/patches/riscv_compliance/0002-Add-OpenTitan-target.patch b/sw/vendor/patches/riscv_compliance/0002-Add-OpenTitan-target.patch
index 90f3533..ecd567c 100644
--- a/sw/vendor/patches/riscv_compliance/0002-Add-OpenTitan-target.patch
+++ b/sw/vendor/patches/riscv_compliance/0002-Add-OpenTitan-target.patch
@@ -1,18 +1,19 @@
-From 0f7688b6a865e38f365bc8584cacbe851b8d806c Mon Sep 17 00:00:00 2001
+From 3cafdf492bf9e29e9349ca44ae448b5d2359cd06 Mon Sep 17 00:00:00 2001
From: Greg Chadwick <gac@lowrisc.org>
Date: Wed, 15 Apr 2020 15:44:54 +0100
-Subject: [PATCH 2/7] Add OpenTitan target
+Subject: [PATCH 2/3] Add OpenTitan target
---
- riscv-target/opentitan/README.md | 144 ++++++++++++++++++
+ Makefile | 6 +-
+ riscv-target/opentitan/README.md | 160 ++++++++++++++++++
riscv-target/opentitan/compliance_io.h | 22 +++
- riscv-target/opentitan/compliance_test.h | 35 +++++
- .../opentitan/device/rv32imc/Makefile.include | 79 ++++++++++
+ riscv-target/opentitan/compliance_test.h | 35 ++++
+ .../opentitan/device/rv32imc/Makefile.include | 79 +++++++++
.../opentitan/device/rv32imc/isa.yaml | 49 ++++++
riscv-target/opentitan/device/rv32imc/main.c | 39 +++++
.../opentitan/device/rv32imc/platform.yaml | 10 ++
- .../opentitan/device/rv32imc/run_rvc_test.S | 85 +++++++++++
- 8 files changed, 463 insertions(+)
+ .../opentitan/device/rv32imc/run_rvc_test.S | 85 ++++++++++
+ 9 files changed, 484 insertions(+), 1 deletion(-)
create mode 100644 riscv-target/opentitan/README.md
create mode 100644 riscv-target/opentitan/compliance_io.h
create mode 100644 riscv-target/opentitan/compliance_test.h
@@ -22,12 +23,33 @@
create mode 100644 riscv-target/opentitan/device/rv32imc/platform.yaml
create mode 100644 riscv-target/opentitan/device/rv32imc/run_rvc_test.S
+diff --git a/Makefile b/Makefile
+index 25557c1..27433ed 100644
+--- a/Makefile
++++ b/Makefile
+@@ -50,6 +50,11 @@ else
+ ifeq ($(RISCV_TARGET),riscvOVPsim)
+ JOBS ?= -j8 --max-load=4
+ endif
++ ifeq ($(RISCV_TARGET),opentitan)
++ ifeq ($(OT_TARGET),verilator)
++ JOBS ?= -j4
++ endif
++ endif
+ endif
+
+ default: $(DEFAULT_TARGET)
+@@ -90,4 +95,3 @@ help:
+ @echo "RISCV_ISA='$(RISCV_ISA_OPT)'"
+ @echo "RISCV_TEST='I-ADD-01'"
+ @echo "make all_variant // all combinations"
+-
diff --git a/riscv-target/opentitan/README.md b/riscv-target/opentitan/README.md
new file mode 100644
-index 0000000..6823fe2
+index 0000000..71baa3c
--- /dev/null
+++ b/riscv-target/opentitan/README.md
-@@ -0,0 +1,144 @@
+@@ -0,0 +1,160 @@
+
+# Overview
+The RISC-V compliance test can be run on either OpenTitan FPGA or Verilator.
@@ -161,6 +183,22 @@
+$ rm -rf ./work
+```
+
++## Parallel runs
++When running against the `verilator` target parallel make jobs are used (via
++passing `-j4` to make internally). Parallel runs can be disabled by passing
++`PARALLEL=0` to the `make` command or the `-j` used can be altered with the
++`JOBS` argument.
++
++Disable parallel runs:
++```console
++$ make RISCV_ISA=rv32i PARALLEL=0
++```
++
++Use a different `-j` parameter:
++```console
++$ make RISCV_ISA=rv32i JOBS=-j8
++```
++
+## Removed/Broken Tests
+A small number of tests are not run for OpenTitan riscv_compliance as they fail
+due to flaws in the compliance test suite rather than Ibex/OpenTitan itself (see
@@ -243,7 +281,7 @@
+#endif
diff --git a/riscv-target/opentitan/device/rv32imc/Makefile.include b/riscv-target/opentitan/device/rv32imc/Makefile.include
new file mode 100644
-index 0000000..d789fe2
+index 0000000..dba8732
--- /dev/null
+++ b/riscv-target/opentitan/device/rv32imc/Makefile.include
@@ -0,0 +1,79 @@
@@ -275,8 +313,8 @@
+ # Verilator can be run in parallel mode so alter log output to prepend with
+ # test name, also increase uart_timeout as with parallel runs on CI individual
+ # test execution can take greater than 60 seconds.
-+ PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<).vmem \
-+ --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.vmem \
++ PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<) \
++ --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.elf \
+ --log-cli-format "$(notdir $(basename $(<))): %(message)s" --log-cli-level DEBUG \
+ --uart_timeout 240
+ OT_SW_TARGET = sim_verilator
@@ -313,10 +351,11 @@
+ -I$(OT_ROOT) \
+ -I$(TARGETDIR)/$(RISCV_TARGET)/ \
+ -I$(TARGETDIR)/$(RISCV_TARGET)/ \
-+ $(DEFINES) -T$(LDSCRIPT) $$< \
++ $(DEFINES) \
++ -L$(OT_ROOT) -T$(LDSCRIPT) $$< \
+ $(OPENTITAN)/main.c \
+ $(OPENTITAN)/run_rvc_test.S \
-+ $(OT_ROOT)/sw/device/lib/irq_vectors.S \
++ $(OT_ROOT)/sw/device/exts/common/ibex_interrupt_vectors.S \
+ $(OT_ROOT)/sw/device/exts/common/flash_crt.S \
+ -L$(OT_BIN)/sw/device/riscv_compliance_support \
+ -l$(COMPLIANCE_LIB) \
@@ -324,8 +363,7 @@
+ $$(RISCV_OBJDUMP) -SD $$(@) > $$(@).objdump; \
+ $$(RISCV_READELF) -a $$(@) > $$(@).readelf; \
+ $$(RISCV_NM) $$(@) > $$(@).nm; \
-+ $$(RISCV_OBJCOPY) -O binary $$(@) $$(@).bin; \
-+ srec_cat $$(@).bin -binary -offset 0x0000 -byte-swap 4 -o $$(@).vmem -vmem
++ $$(RISCV_OBJCOPY) -O binary $$(@) $$(@).bin;
diff --git a/riscv-target/opentitan/device/rv32imc/isa.yaml b/riscv-target/opentitan/device/rv32imc/isa.yaml
new file mode 100644
index 0000000..c526fec
@@ -444,7 +482,7 @@
+ address: 0x80000080 # boot address + 0x80
diff --git a/riscv-target/opentitan/device/rv32imc/run_rvc_test.S b/riscv-target/opentitan/device/rv32imc/run_rvc_test.S
new file mode 100644
-index 0000000..aef6a23
+index 0000000..1b1b5c7
--- /dev/null
+++ b/riscv-target/opentitan/device/rv32imc/run_rvc_test.S
@@ -0,0 +1,85 @@
@@ -532,7 +570,7 @@
+ lw gp, 8(t0)
+
+ // jump to the handler from the OT library
-+ j _vectors_start
++ j crt_interrupt_vector
--
-2.26.0
+2.26.2
diff --git a/sw/vendor/patches/riscv_compliance/0003-Remove-tests-that-do-not-pass-on-OpenTitan.patch b/sw/vendor/patches/riscv_compliance/0003-Remove-tests-that-do-not-pass-on-OpenTitan.patch
index 2674337..d9439cb 100644
--- a/sw/vendor/patches/riscv_compliance/0003-Remove-tests-that-do-not-pass-on-OpenTitan.patch
+++ b/sw/vendor/patches/riscv_compliance/0003-Remove-tests-that-do-not-pass-on-OpenTitan.patch
@@ -1,7 +1,7 @@
-From e7f260fbf73b10b1990aecc7cc57a6952f730c6b Mon Sep 17 00:00:00 2001
+From 869ad7202f4551ae75440b8e34d8aa37f4b3f4cf Mon Sep 17 00:00:00 2001
From: Greg Chadwick <gac@lowrisc.org>
Date: Wed, 15 Apr 2020 18:39:08 +0100
-Subject: [PATCH 3/7] Remove tests that do not pass on OpenTitan
+Subject: [PATCH 3/3] Remove tests that do not pass on OpenTitan
---
riscv-test-suite/rv32i/Makefrag | 7 +++++--
@@ -33,5 +33,5 @@
rv32i_tests = $(addsuffix .elf, $(rv32i_sc_tests))
--
-2.26.0
+2.26.2
diff --git a/sw/vendor/patches/riscv_compliance/0004-Enable-parallel-runs.patch b/sw/vendor/patches/riscv_compliance/0004-Enable-parallel-runs.patch
deleted file mode 100644
index d3ec6ac..0000000
--- a/sw/vendor/patches/riscv_compliance/0004-Enable-parallel-runs.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 412f4c81a5952c24c0c5977854f15ce3b87f5ae4 Mon Sep 17 00:00:00 2001
-From: Greg Chadwick <gac@lowrisc.org>
-Date: Fri, 17 Apr 2020 15:02:48 +0100
-Subject: [PATCH 4/7] Enable parallel runs
-
----
- Makefile | 5 +++++
- riscv-target/opentitan/README.md | 16 ++++++++++++++++
- 2 files changed, 21 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 25557c1..1a822bd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -50,6 +50,11 @@ else
- ifeq ($(RISCV_TARGET),riscvOVPsim)
- JOBS ?= -j8 --max-load=4
- endif
-+ ifeq ($(RISCV_TARGET),opentitan)
-+ ifeq ($(OT_TARGET),verilator)
-+ JOBS ?= -j4
-+ endif
-+ endif
- endif
-
- default: $(DEFAULT_TARGET)
-diff --git a/riscv-target/opentitan/README.md b/riscv-target/opentitan/README.md
-index 6823fe2..71baa3c 100644
---- a/riscv-target/opentitan/README.md
-+++ b/riscv-target/opentitan/README.md
-@@ -131,6 +131,22 @@ $ cd $RISCV_COMPLIANCE_REPO_BASE
- $ rm -rf ./work
- ```
-
-+## Parallel runs
-+When running against the `verilator` target parallel make jobs are used (via
-+passing `-j4` to make internally). Parallel runs can be disabled by passing
-+`PARALLEL=0` to the `make` command or the `-j` used can be altered with the
-+`JOBS` argument.
-+
-+Disable parallel runs:
-+```console
-+$ make RISCV_ISA=rv32i PARALLEL=0
-+```
-+
-+Use a different `-j` parameter:
-+```console
-+$ make RISCV_ISA=rv32i JOBS=-j8
-+```
-+
- ## Removed/Broken Tests
- A small number of tests are not run for OpenTitan riscv_compliance as they fail
- due to flaws in the compliance test suite rather than Ibex/OpenTitan itself (see
---
-2.26.0
-
diff --git a/sw/vendor/patches/riscv_compliance/0005-Update-.vmem-paths-with-new-naming.patch b/sw/vendor/patches/riscv_compliance/0005-Update-.vmem-paths-with-new-naming.patch
deleted file mode 100644
index ae05f6b..0000000
--- a/sw/vendor/patches/riscv_compliance/0005-Update-.vmem-paths-with-new-naming.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4dee0573fec79c8b9a38a7e14dc7bf2fabe06551 Mon Sep 17 00:00:00 2001
-From: Greg Chadwick <gac@lowrisc.org>
-Date: Mon, 20 Apr 2020 13:41:51 +0100
-Subject: [PATCH 5/7] Update .vmem paths with new naming
-
----
- riscv-target/opentitan/device/rv32imc/Makefile.include | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/riscv-target/opentitan/device/rv32imc/Makefile.include b/riscv-target/opentitan/device/rv32imc/Makefile.include
-index d789fe2..b929b69 100644
---- a/riscv-target/opentitan/device/rv32imc/Makefile.include
-+++ b/riscv-target/opentitan/device/rv32imc/Makefile.include
-@@ -26,8 +26,8 @@ else
- # Verilator can be run in parallel mode so alter log output to prepend with
- # test name, also increase uart_timeout as with parallel runs on CI individual
- # test execution can take greater than 60 seconds.
-- PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<).vmem \
-- --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.vmem \
-+ PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<).32.vmem \
-+ --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.32.vmem \
- --log-cli-format "$(notdir $(basename $(<))): %(message)s" --log-cli-level DEBUG \
- --uart_timeout 240
- OT_SW_TARGET = sim_verilator
-@@ -76,4 +76,4 @@ COMPILE_TARGET += \
- $$(RISCV_READELF) -a $$(@) > $$(@).readelf; \
- $$(RISCV_NM) $$(@) > $$(@).nm; \
- $$(RISCV_OBJCOPY) -O binary $$(@) $$(@).bin; \
-- srec_cat $$(@).bin -binary -offset 0x0000 -byte-swap 4 -o $$(@).vmem -vmem
-+ srec_cat $$(@).bin -binary -offset 0x0000 -byte-swap 4 -o $$(@).32.vmem -vmem
---
-2.26.0
-
diff --git a/sw/vendor/patches/riscv_compliance/0006-Update-Interrupt-Interrupt-Vector-Location.patch b/sw/vendor/patches/riscv_compliance/0006-Update-Interrupt-Interrupt-Vector-Location.patch
deleted file mode 100644
index 3ea2f21..0000000
--- a/sw/vendor/patches/riscv_compliance/0006-Update-Interrupt-Interrupt-Vector-Location.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 66d8a22f5d67de1c6579cac9b263722d0b6ce00c Mon Sep 17 00:00:00 2001
-From: Sam Elliott <selliott@lowrisc.org>
-Date: Fri, 8 May 2020 22:09:03 +0100
-Subject: [PATCH 6/7] Update Interrupt Interrupt Vector Location
-
-Signed-off-by: Sam Elliott <selliott@lowrisc.org>
----
- riscv-target/opentitan/device/rv32imc/Makefile.include | 2 +-
- riscv-target/opentitan/device/rv32imc/run_rvc_test.S | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/riscv-target/opentitan/device/rv32imc/Makefile.include b/riscv-target/opentitan/device/rv32imc/Makefile.include
-index b929b69..41e410b 100644
---- a/riscv-target/opentitan/device/rv32imc/Makefile.include
-+++ b/riscv-target/opentitan/device/rv32imc/Makefile.include
-@@ -67,7 +67,7 @@ COMPILE_TARGET += \
- $(DEFINES) -T$(LDSCRIPT) $$< \
- $(OPENTITAN)/main.c \
- $(OPENTITAN)/run_rvc_test.S \
-- $(OT_ROOT)/sw/device/lib/irq_vectors.S \
-+ $(OT_ROOT)/sw/device/exts/common/ibex_interrupt_vectors.S \
- $(OT_ROOT)/sw/device/exts/common/flash_crt.S \
- -L$(OT_BIN)/sw/device/riscv_compliance_support \
- -l$(COMPLIANCE_LIB) \
-diff --git a/riscv-target/opentitan/device/rv32imc/run_rvc_test.S b/riscv-target/opentitan/device/rv32imc/run_rvc_test.S
-index aef6a23..1b1b5c7 100644
---- a/riscv-target/opentitan/device/rv32imc/run_rvc_test.S
-+++ b/riscv-target/opentitan/device/rv32imc/run_rvc_test.S
-@@ -82,4 +82,4 @@ mtvec_handler:
- lw gp, 8(t0)
-
- // jump to the handler from the OT library
-- j _vectors_start
-+ j crt_interrupt_vector
---
-2.26.0
-
diff --git a/sw/vendor/patches/riscv_compliance/0007-Add-Include-Path-For-OpenTitan-Linker-Script.patch b/sw/vendor/patches/riscv_compliance/0007-Add-Include-Path-For-OpenTitan-Linker-Script.patch
deleted file mode 100644
index 10e05e9..0000000
--- a/sw/vendor/patches/riscv_compliance/0007-Add-Include-Path-For-OpenTitan-Linker-Script.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d41fc018e9018a44f6a70e52e4f9d4398b4e4659 Mon Sep 17 00:00:00 2001
-From: Sam Elliott <selliott@lowrisc.org>
-Date: Mon, 11 May 2020 21:27:04 +0100
-Subject: [PATCH 7/7] Add Include Path For OpenTitan Linker Script
-
----
- riscv-target/opentitan/device/rv32imc/Makefile.include | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/riscv-target/opentitan/device/rv32imc/Makefile.include b/riscv-target/opentitan/device/rv32imc/Makefile.include
-index 41e410b..61dd819 100644
---- a/riscv-target/opentitan/device/rv32imc/Makefile.include
-+++ b/riscv-target/opentitan/device/rv32imc/Makefile.include
-@@ -64,7 +64,8 @@ COMPILE_TARGET += \
- -I$(OT_ROOT) \
- -I$(TARGETDIR)/$(RISCV_TARGET)/ \
- -I$(TARGETDIR)/$(RISCV_TARGET)/ \
-- $(DEFINES) -T$(LDSCRIPT) $$< \
-+ $(DEFINES) \
-+ -L$(OT_ROOT) -T$(LDSCRIPT) $$< \
- $(OPENTITAN)/main.c \
- $(OPENTITAN)/run_rvc_test.S \
- $(OT_ROOT)/sw/device/exts/common/ibex_interrupt_vectors.S \
---
-2.26.0
-
diff --git a/sw/vendor/riscv_compliance/Makefile b/sw/vendor/riscv_compliance/Makefile
index 1a822bd..27433ed 100644
--- a/sw/vendor/riscv_compliance/Makefile
+++ b/sw/vendor/riscv_compliance/Makefile
@@ -95,4 +95,3 @@
@echo "RISCV_ISA='$(RISCV_ISA_OPT)'"
@echo "RISCV_TEST='I-ADD-01'"
@echo "make all_variant // all combinations"
-
diff --git a/sw/vendor/riscv_compliance/riscv-target/opentitan/README.md b/sw/vendor/riscv_compliance/riscv-target/opentitan/README.md
index 84f3a4a..71baa3c 100644
--- a/sw/vendor/riscv_compliance/riscv-target/opentitan/README.md
+++ b/sw/vendor/riscv_compliance/riscv-target/opentitan/README.md
@@ -157,3 +157,4 @@
* I-MISALIGN_JMP-01
* I-MISALIGN_LDST-01
* I-FENCE.I-01
+
diff --git a/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_io.h b/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_io.h
index d5d88d4..2774158 100644
--- a/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_io.h
+++ b/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_io.h
@@ -1,22 +1,22 @@
-// Copyright lowRISC contributors.
-// Licensed under the Apache License, Version 2.0, see LICENSE for details.
-// SPDX-License-Identifier: Apache-2.0
-
-// RISC-V Compliance IO Test Header File
-
-
-#ifndef _COMPLIANCE_IO_H
-#define _COMPLIANCE_IO_H
-
-//-----------------------------------------------------------------------
-// RV IO Macros (Non functional)
-//-----------------------------------------------------------------------
-
-#define RVTEST_IO_INIT
-#define RVTEST_IO_WRITE_STR(_SP, _STR)
-#define RVTEST_IO_CHECK()
-#define RVTEST_IO_ASSERT_GPR_EQ(_SP, _R, _I)
-#define RVTEST_IO_ASSERT_SFPR_EQ(_F, _R, _I)
-#define RVTEST_IO_ASSERT_DFPR_EQ(_D, _R, _I)
-
-#endif // _COMPLIANCE_IO_H
+// Copyright lowRISC contributors.
+// Licensed under the Apache License, Version 2.0, see LICENSE for details.
+// SPDX-License-Identifier: Apache-2.0
+
+// RISC-V Compliance IO Test Header File
+
+
+#ifndef _COMPLIANCE_IO_H
+#define _COMPLIANCE_IO_H
+
+//-----------------------------------------------------------------------
+// RV IO Macros (Non functional)
+//-----------------------------------------------------------------------
+
+#define RVTEST_IO_INIT
+#define RVTEST_IO_WRITE_STR(_SP, _STR)
+#define RVTEST_IO_CHECK()
+#define RVTEST_IO_ASSERT_GPR_EQ(_SP, _R, _I)
+#define RVTEST_IO_ASSERT_SFPR_EQ(_F, _R, _I)
+#define RVTEST_IO_ASSERT_DFPR_EQ(_D, _R, _I)
+
+#endif // _COMPLIANCE_IO_H
diff --git a/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_test.h b/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_test.h
index 6a889cf..978d578 100644
--- a/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_test.h
+++ b/sw/vendor/riscv_compliance/riscv-target/opentitan/compliance_test.h
@@ -1,35 +1,35 @@
-// Copyright lowRISC contributors.
-// Licensed under the Apache License, Version 2.0, see LICENSE for details.
-// SPDX-License-Identifier: Apache-2.0
-
-// RISC-V Compliance Test Header File
-
-#ifndef _COMPLIANCE_TEST_H
-#define _COMPLIANCE_TEST_H
-
-#include "riscv_test.h"
-
-//-----------------------------------------------------------------------
-// RV Compliance Macros
-//-----------------------------------------------------------------------
-#define RV_COMPLIANCE_HALT \
- j end_rvc_test; \
-
-#define RV_COMPLIANCE_RV32M \
- RVTEST_RV32M \
-
-
-#define RV_COMPLIANCE_CODE_BEGIN \
- RVTEST_CODE_BEGIN \
-
-#define RV_COMPLIANCE_CODE_END \
- RVTEST_CODE_END \
-
-#define RV_COMPLIANCE_DATA_BEGIN \
- .section .data; \
- RVTEST_DATA_BEGIN \
-
-#define RV_COMPLIANCE_DATA_END \
- RVTEST_DATA_END \
-
-#endif
+// Copyright lowRISC contributors.
+// Licensed under the Apache License, Version 2.0, see LICENSE for details.
+// SPDX-License-Identifier: Apache-2.0
+
+// RISC-V Compliance Test Header File
+
+#ifndef _COMPLIANCE_TEST_H
+#define _COMPLIANCE_TEST_H
+
+#include "riscv_test.h"
+
+//-----------------------------------------------------------------------
+// RV Compliance Macros
+//-----------------------------------------------------------------------
+#define RV_COMPLIANCE_HALT \
+ j end_rvc_test; \
+
+#define RV_COMPLIANCE_RV32M \
+ RVTEST_RV32M \
+
+
+#define RV_COMPLIANCE_CODE_BEGIN \
+ RVTEST_CODE_BEGIN \
+
+#define RV_COMPLIANCE_CODE_END \
+ RVTEST_CODE_END \
+
+#define RV_COMPLIANCE_DATA_BEGIN \
+ .section .data; \
+ RVTEST_DATA_BEGIN \
+
+#define RV_COMPLIANCE_DATA_END \
+ RVTEST_DATA_END \
+
+#endif
diff --git a/sw/vendor/riscv_compliance/riscv-target/opentitan/device/rv32imc/Makefile.include b/sw/vendor/riscv_compliance/riscv-target/opentitan/device/rv32imc/Makefile.include
index 61dd819..dba8732 100644
--- a/sw/vendor/riscv_compliance/riscv-target/opentitan/device/rv32imc/Makefile.include
+++ b/sw/vendor/riscv_compliance/riscv-target/opentitan/device/rv32imc/Makefile.include
@@ -26,8 +26,8 @@
# Verilator can be run in parallel mode so alter log output to prepend with
# test name, also increase uart_timeout as with parallel runs on CI individual
# test execution can take greater than 60 seconds.
- PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<).32.vmem \
- --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.32.vmem \
+ PYTEST_OPT = --verilator_model $(TARGET_SIM) --test_bin $(<) \
+ --rom_bin $(OT_BIN)/sw/device/boot_rom/boot_rom_sim_verilator.elf \
--log-cli-format "$(notdir $(basename $(<))): %(message)s" --log-cli-level DEBUG \
--uart_timeout 240
OT_SW_TARGET = sim_verilator
@@ -76,5 +76,4 @@
$$(RISCV_OBJDUMP) -SD $$(@) > $$(@).objdump; \
$$(RISCV_READELF) -a $$(@) > $$(@).readelf; \
$$(RISCV_NM) $$(@) > $$(@).nm; \
- $$(RISCV_OBJCOPY) -O binary $$(@) $$(@).bin; \
- srec_cat $$(@).bin -binary -offset 0x0000 -byte-swap 4 -o $$(@).32.vmem -vmem
+ $$(RISCV_OBJCOPY) -O binary $$(@) $$(@).bin;