• Stars
    star
    505
  • Rank 87,373 (Top 2 %)
  • Language
    Assembly
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

RISC-V Architecture Test SIG

This is a repository for the work of the RISC-V Foundation Architecture Test SIG. The repository owners are:

  • Neel Gala (InCore Semiconductors)
  • Marc Karasek (Inspire Semiconductors)

Quick Links:

  • Details of the RISC-V Foundation, the work of its task groups, and how to become a member can be found at riscv.org.
  • For more details and documentation on the current test environment see: doc/README.adoc
  • For more details on the test format spec see: spec/TestFormatSpec.adoc
  • For contributions and reporting issues please refer to CONTRIBUTION.md
  • For more details on the usage of the current framework see : RISCOF

Note : The RISCOF framework requires a riscv-config YAML to describe the configurations implemented by the DUT

Old Framework

The older 2.x version of the framework (based on Makefiles) can be found in a separate branch : old-framework-2.x. This branch is no longer officially supported and all changes must occur on the main branch.

Test Disclaimers

The following are the exhaustive list of disclaimers that can be used as waivers by target owners when reporting the status of pass/fail on the execution of the architectural suite on their respective targets.

  1. For the following set of misaligned-tests, signature mismatches will occur if misaligned accesses can sometimes succeed (without an exception) and sometimes fail on the DUT.

    1. rv32i_m/privilege/src/misalign-[lb[u],lh[u],lw,sh,sb,sw]-01.S
    2. rv64i_m/privilege/src/misalign-[lb[u],lh[u],lw[u],ld,sb,sh,sw,sd]-01.S
  2. The machine mode trap handler used in the privilege tests assumes one of the following conditions. Targets not satisfying any of the following conditions are bound to fail the entire rv32i_m/privilege and rv64i_m/privilege tests:

    1. The target must have implemented mtvec which is completely writable by the test in machine mode.
    2. The target has initialized mtvec, before entering the test (via RVMODEL_BOOT), to point to a memory location which has both read and write permissions.

Test Stats

The coverage and data propogation statistics of each test are hosted on Google-Drive for reference. This to avoid bloating this repo in size.

Contribution process

Please refer to to CONTRIBUTION.md for guidelines on contributions.

Licensing

In general:

  • code is licensed under one of the following:
    • the BSD 3-clause license (SPDX license identifier BSD-3-Clause);
    • the Apache License (SPDX license identifier Apache-2.0); while
  • documentation is licensed under the Creative Commons Attribution 4.0 International license (SPDX license identifier CC-BY-4.0).

The files COPYING.BSD, COPYING.APACHE and COPYING.CC in the top level directory contain the complete text of these licenses.

Engineering practice

  • Documentation uses the structured text format AsciiDoc. See doc/README.adoc for more details.

  • Some directories use ChangeLog files to track changes in the code and documentation. Please honor these, keeping them up to date and including the ChangeLog entry in the git commit message.

  • Please include a comment with the SPDX license identifier in all source files, for example:

// SPDX-License-Identifier: BSD-3-Clause

Quick Links:

  • RISCOF [DOCS] [REPO]: This is the next version of the architectural test framework currently under development
  • RISCV-ISAC [DOCS] [REPO] : This is an ISA level coverage extraction tool for RISC-V which used to generate the coverage statistics of the architectural tests.
  • RISCV-CTG: [DOCS][REPO]: This is a RISC-V Architectural Test generator used to generate some of the tests already checked into this repository.
  • Videos: This Global Forum 2020 video provides an introduction to the above mentioned tools
  • riscvOVPsim: Imperas freeware RISC-V reference simulator for compliance testing
  • riscvOVPsimPlus: Imperas enhanced freeware RISC-V reference simulator for test development and verification

More Repositories

1

riscv-asm-manual

RISC-V Assembly Programmer's Manual
Makefile
1,423
star
2

riscv-elf-psabi-doc

A RISC-V ELF psABI Document
Python
699
star
3

riscv-sbi-doc

Documentation for the RISC-V Supervisor Binary Interface
Makefile
295
star
4

rvv-intrinsic-doc

C
286
star
5

riscv-toolchain-conventions

Documenting the expected behaviour and supported command-line switches for GNU and LLVM based RISC-V toolchains
Makefile
144
star
6

riscv-trace-spec

RISC-V Processor Trace Specification
C
126
star
7

riscv-c-api-doc

Documentation of the RISC-V C API
Makefile
72
star
8

riscv-device-tree-doc

RISC-V Specific Device Tree Documentation
Python
41
star
9

riscv-iommu

Non-ISA IOMMU specification developed by the IOMMU TG.
C
39
star
10

riscv-brs

The Boot and Runtime Services (BRS) specification provides the software requirements for system vendors and Operating System Vendors (OSVs) to interoperate with one another by providing expectations for the Operating System (OS) to utilize in acts of device discovery, system management, and other rich operations provided in this specification.
TeX
38
star
11

riscv-ap-tee

This repo holds the work area and revisions of the RISC-V AP-TEEI specification. This specification defines the programming interfaces (ABI) to support a scalable confidential compute architecture for RISC-V application-processor platforms.
TeX
32
star
12

riscv-semihosting

Makefile
27
star
13

tg-nexus-trace

RISC-V Nexus Trace TG documentation and reference code
C
20
star
14

riscv-uefi

Makefile
19
star
15

riscv-arch-test-reports

HTML
11
star
16

riscv-security-model

RISC-V Security Model
TeX
11
star
17

riscv-acpi

Makefile
10
star
18

riscv-ap-tee-io

This TG will define AP-TEE-IO ABI extensions to provide Confidential VM-assigned devices with secure direct access to confidential memory as well as MMIO, removing the dependence on para-virtualized I/O.
Makefile
9
star
19

riscv-server-platform

The RISC-V Server Platform specification defines a standardized set of hardware and sofware capabilities, that portable system software, such as operating systems and hypervisors, can rely on being present in a RISC-V server platform.
Makefile
7
star
20

riscv-rvm-csi

RVM-CSI (RISC-V eMbedded - Common Software Interface) aims to provide a source-level portability layer providing a simplified transition path between different microcontrollers based on RISC-V. This repo contains the specification documentation, and language-specific source files for implementing the API (initially, C header files).
C
6
star
21

riscv-swi

RISC-V Software Interrupts Specification
Makefile
4
star
22

riscv-acpi-ffh

The repo will be used to hold the draft non-ISA RISC-V ACPI Functional Fixed Hardware (FFH) specification
Makefile
3
star
23

server-soc-ts

Test suite for Server SoC
3
star
24

e-trace-encap

E-Trace Encapsulation Specification
Makefile
2
star
25

riscv-rpmi

RISC-V Platform Management Interface Specification. OS-agnostic messaging interface for system management and control
Makefile
2
star
26

riscv-acpi-rimt

RISC-V ACPI I/O Mapping Table Specification
Makefile
2
star
27

riscv-cbqri

This repo holds the work area and revisions of a QoS register interface for caches and memory controllers specification. The QoS register interface is a non-ISA specification that supports configuring resource allocations to applications and monitoring the resource usage by applications.
Makefile
1
star
28

server-soc

The repo holds the draft non-ISA Server SoC specification being developed by the Server SoC specification TG and to release intermediate releases of the specification on milestones. Further downstream this repo will be used to release specifications for public review.
TeX
1
star