From 0ad95eb54ed95f5da30e72b2b0b183d90faf7f69 Mon Sep 17 00:00:00 2001 From: Neel Gala Date: Thu, 24 Feb 2022 19:45:50 +0530 Subject: [PATCH 1/5] ignore comments in reference signature during diff This should close #230 --- riscv-test-env/verify.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/riscv-test-env/verify.sh b/riscv-test-env/verify.sh index f69a4c633..0c117716f 100755 --- a/riscv-test-env/verify.sh +++ b/riscv-test-env/verify.sh @@ -28,7 +28,8 @@ do echo -e "Check $(printf %-24s ${stub}) \e[33m ... IGNORE \e[39m" continue fi - diff --ignore-case --strip-trailing-cr ${ref} ${sig} &> /dev/null + #diff --ignore-case --strip-trailing-cr ${ref} ${sig} &> /dev/null + diff --ignore-case --ignore-trailing-space --strip-trailing-cr <(grep -o '^[^#]*' ${ref}) ${sig} &> /dev/null if [ $? == 0 ] then echo -e "\e[32m ... OK \e[39m" From 77ea6104af56b4285c0264a5c7e05c9bcf470a92 Mon Sep 17 00:00:00 2001 From: Neel Gala Date: Thu, 24 Feb 2022 19:46:50 +0530 Subject: [PATCH 2/5] update the order of lines in the signature this should address and close #214 --- spec/TestFormatSpec.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/TestFormatSpec.adoc b/spec/TestFormatSpec.adoc index ec67dabae..292d14d45 100644 --- a/spec/TestFormatSpec.adoc +++ b/spec/TestFormatSpec.adoc @@ -176,7 +176,7 @@ image::./testpool.jpg[testStruct] The _test case signature_ is represented by single or multiple values. Values are written to memory at the address starting at the address specified by the RVMODEL_DATA_BEGIN and ending at RVMODEL_DATA_END. Signatures can be generated most easily using the RVTEST_SIGUPD macro. === The test signature -The <> is a characteristic value which is generated by the architectural test run. The <> may consist of several <>, prefixed with a separate line containing the name of the test and a unique value indicating its version (e.g. git checkin hash). The test target is responsible for extracting values from memory and properly formatting them, using metadata provided to it by the framework using the RVMODEL_DATA_BEGIN and RVMODEL_DATA_END macros. Test case signature values are written one per line, starting with the most-significant byte on the left-hand side with the format where the length of value will be 32 bits (so 8 characters), regardless of the actual value length computed by the test. Furthermore, the signature should always begin at a 16-byte (128-bit) boundary and the size of the signature should be a multiple of 16-bytes (i.e. it should also end at a 16-byte boundary). +The <> is a characteristic value which is generated by the architectural test run. The <> may consist of several <>, prefixed with a separate line containing the name of the test and a unique value indicating its version (e.g. git checkin hash). The test target is responsible for extracting values from memory and properly formatting them, using metadata provided to it by the framework using the RVMODEL_DATA_BEGIN and RVMODEL_DATA_END macros. Test case signature values are written one per line, starting with the most-significant byte on the left-hand side with the format where the length of value will be 32 bits (so 8 characters), regardless of the actual value length computed by the test. The file should start with values stored at the lowest address of the signature (i.e. from RVMODEL_DATA_BEGIN to RVMODEL_DATA_END). Furthermore, the signature should always begin at a 16-byte (128-bit) boundary and the size of the signature should be a multiple of 16-bytes (i.e. it should also end at a 16-byte boundary). === The test suite signature The _test suite signature_ is defined as a set of <> valid for given <>. It represents the test signature of the particular RISC-V configuration selected for the architectural test. From 5e3ab47ab68e8a9c68f5c7f15738293858691333 Mon Sep 17 00:00:00 2001 From: Neel Gala Date: Thu, 24 Feb 2022 19:48:54 +0530 Subject: [PATCH 3/5] for E extension macro RVTEST_E needs to be enabled at compile time addresses main issue of #227 --- riscv-test-suite/rv32e_unratified/C/Makefile | 2 +- riscv-test-suite/rv32e_unratified/E/Makefile | 2 +- riscv-test-suite/rv32e_unratified/M/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/riscv-test-suite/rv32e_unratified/C/Makefile b/riscv-test-suite/rv32e_unratified/C/Makefile index c7b3e8946..a3978efbe 100644 --- a/riscv-test-suite/rv32e_unratified/C/Makefile +++ b/riscv-test-suite/rv32e_unratified/C/Makefile @@ -1,3 +1,3 @@ include ../../Makefile.include -$(eval $(call compile_template,-march=rv32ec -mabi=ilp32e -DXLEN=$(XLEN))) +$(eval $(call compile_template,-march=rv32ec -mabi=ilp32e -DXLEN=$(XLEN) -DRVTEST_E)) diff --git a/riscv-test-suite/rv32e_unratified/E/Makefile b/riscv-test-suite/rv32e_unratified/E/Makefile index b9410d41f..9fc5ee79f 100644 --- a/riscv-test-suite/rv32e_unratified/E/Makefile +++ b/riscv-test-suite/rv32e_unratified/E/Makefile @@ -1,3 +1,3 @@ include ../../Makefile.include -$(eval $(call compile_template,-march=rv32e -mabi=ilp32e -DXLEN=$(XLEN))) +$(eval $(call compile_template,-march=rv32e -mabi=ilp32e -DXLEN=$(XLEN) -DRVTEST_E)) diff --git a/riscv-test-suite/rv32e_unratified/M/Makefile b/riscv-test-suite/rv32e_unratified/M/Makefile index 69e58e890..611a90558 100644 --- a/riscv-test-suite/rv32e_unratified/M/Makefile +++ b/riscv-test-suite/rv32e_unratified/M/Makefile @@ -1,3 +1,3 @@ include ../../Makefile.include -$(eval $(call compile_template,-march=rv32em -mabi=ilp32e -DXLEN=$(XLEN))) +$(eval $(call compile_template,-march=rv32em -mabi=ilp32e -DXLEN=$(XLEN) -DRVTEST_E)) From 8d5a410064985909d63bf7f7afdbd5e0d7e4003b Mon Sep 17 00:00:00 2001 From: Neel Gala Date: Thu, 24 Feb 2022 20:57:36 +0530 Subject: [PATCH 4/5] updated changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14da62be1..0439014f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # CHANGELOG +## [2.6.2] - 2022-02-24 + - modified verify.sh to ignore comments in reference signature during diff operation [#230] + - udpated test-format spec to include the order of lines in the signature file [#214] + - RVTEST_E macro to be enabled for all rv32E tests. [#227] + ## [2.6.1] - 2021-11-25 - Fixed RVTEST_FP_ENABLE macro for the issue #223 From 07bf690415aed38cfed3f592d1ba3cd5cc1d26f2 Mon Sep 17 00:00:00 2001 From: Neel Gala Date: Thu, 24 Feb 2022 22:33:18 +0530 Subject: [PATCH 5/5] adding disclaimer about migration to riscof --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9fd5a8b8b..0ba81bbb1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,14 @@ -# RISC-V Architecture Test SIG +# :red_circle: IMPORTANT DISCLAIMER :red_circle: + +The current default branch [master] will be completely replaced with branch [riscof-dev](https://github.com/riscv-non-isa/riscv-arch-test/tree/riscof-dev) on **1st MAY 2022**. +This transition essentially migrates the current framework to the RISCOF framework. +This provides a much richer and configurable environment for targets to test their compatibility. +The current framework will be archived and **NO LONGER SUPPORTED AFTER 1st MAY 2022.** +It is therefore recommended that ALL model/target owners migrate their targets to the riscof environment ASAP. +More information on porting your target to RISCOF is available here: https://riscof.readthedocs.io/en/stable/ + +# RISC-V Architecture Test SIG This is a repository for the work of the RISC-V Foundation Architecture Test SIG. The repository owners are: @@ -14,6 +23,7 @@ For more details on the test format spec see: [spec/TestFormatSpec.adoc](spec/Te For contributions and reporting issues please refer to [CONTRIBUTION.md](CONTRIBUTION.md) + ## Test Disclaimers The following are the exhaustive list of disclaimers that can be used as waivers by target owners