CSR: add mconfigptr and default to zero (backport #3446) #2288
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file describes the GitHub Actions workflow for continuous integration of rocket-chip. | |
# | |
# See | |
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
# for API reference documentation on this file format. | |
name: Continuous Integration | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
- chisel3_port | |
jobs: | |
prepare-riscv-tools-cache: | |
name: Prepare riscv-tools Cache | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- id: cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
./regression/install | |
./regression/stamps/rocket-tools_checkout.stamp | |
key: riscv-tools-${{ hashFiles('./riscv-tools.hash') }}-v2 | |
- name: Install Dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: sudo xargs apt-get install -y < .github/workflows/apt-packages.txt | |
- if: steps.cache.outputs.cache-hit != 'true' | |
env: | |
CXX: g++ | |
CC: gcc | |
run: make tools -C regression SUITE=none | |
prepare-verilator-cache: | |
name: Prepare Verilator Cache | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v2 | |
with: | |
path: ./emulator/verilator | |
key: verilator-${{ hashFiles('./verilator.hash') }}-v2 | |
# WARNING: The version of gcc used to compile Verilator MUST match the | |
# version of gcc used to compile the fesvr. There is some bug related to | |
# some C struct not being ABI-compatible across gcc 4 and 5, which we have | |
# not debugged yet. | |
- name: Install Dependencies | |
run: sudo xargs apt-get install -y < .github/workflows/apt-packages.txt | |
- env: | |
CXX: g++ | |
CC: gcc | |
run: make verilator -C regression SUITE=none | |
# This job is defined as a matrix job, where the definitions of each test | |
# bucket is located in a shell script at ./regression/run-test-bucket. | |
test: | |
name: Test | |
runs-on: ubuntu-20.04 | |
needs: [prepare-riscv-tools-cache, prepare-verilator-cache] | |
strategy: | |
fail-fast: false | |
matrix: | |
bucket: [1, 2, 3, 4, 5, 6, 7, 8, 9] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use riscv-tools Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
./regression/install | |
./regression/stamps/rocket-tools_checkout.stamp | |
key: riscv-tools-${{ hashFiles('./riscv-tools.hash') }}-v2 | |
- name: Use Verilator Cache | |
uses: actions/cache@v2 | |
with: | |
path: ./emulator/verilator | |
key: verilator-${{ hashFiles('./verilator.hash') }}-v2 | |
- name: Use SBT Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/coursier | |
~/.sbt | |
key: sbt-${{ hashFiles('**/build.sbt') }}-v2 | |
- name: Install Dependencies | |
run: | | |
sudo xargs apt-get install -y < .github/workflows/apt-packages.txt | |
python3 -m pip install pexpect==4.3.1 | |
- env: | |
CXX: g++ | |
CC: gcc | |
run: ./regression/run-test-bucket ${{ matrix.bucket }} | |
- if: failure() | |
name: Upload Artifacts on Failure | |
uses: actions/upload-artifact@v1 | |
with: | |
name: test-bucket-${{ matrix.bucket }}-failures | |
path: emulator/output |