Skip to content

[bug-fix] prevent access to dasics registers in untrusted zone #1

[bug-fix] prevent access to dasics registers in untrusted zone

[bug-fix] prevent access to dasics registers in untrusted zone #1

Workflow file for this run

# This file describes the GitHub Actions workflow for continuous integration of XS Core.
name: EMU Test
on:
push:
branches: [ master, nanhu ]
pull_request:
branches: [ master, nanhu ]
jobs:
generate-verilog:
runs-on: bosc
continue-on-error: false
name: Generate Verilog
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: set env
run: |
export HEAD_SHA=${{ github.run_number }}
echo "RELEASE_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV
echo "RELEASE_HOME=/nfs/home/share/nanhu_release" >> $GITHUB_ENV
echo "XSTOP_RELEASE_HOME=/nfs/home/share/nanhu_XSTop_release" >> $GITHUB_ENV
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA}
- name: clean up
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean
- name: check top wiring
run:
bash .github/workflows/check-usage.sh "BoringUtils" $GITHUB_WORKSPACE
- name: generate verilog file
run:
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --generate --num-cores 2
- name: check verilog
run:
python3 $GITHUB_WORKSPACE/.github/workflows/check_verilog.py build/XSTop.v
- name: release
run: |
rsync -av /nfs-nvme/home/share/debug/nanhu .
mv nanhu nanhu_release
python3 $GITHUB_WORKSPACE/scripts/parser.py --xs-home $GITHUB_WORKSPACE
cp build/XSTop.graphml rtl/XSTop.graphml
cp build/build/XSTop.v.conf rtl/XSTop.v.conf
python3 $GITHUB_WORKSPACE/scripts/get_flist_rtl.py nanhu_release
mv rtl nanhu_release/rtl
tar -czf $XSTOP_RELEASE_HOME/nanhu_release-${RELEASE_SHA}.tar.gz nanhu_release
rm -rf nanhu_release
emu-basics:
runs-on: bosc
continue-on-error: false
timeout-minutes: 900
name: EMU - Basics
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: set env
run: |
export HEAD_SHA=${{ github.run_number }}
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA}
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA}
- name: clean up
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean
- name: Build EMU
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --build --threads 8
- name: Basic Test - cputest
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --ci cputest 2> /dev/zero
- name: Basic Test - riscv-tests
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --rvtest /nfs/home/share/ci-workloads/riscv-tests --ci riscv-tests 2> /dev/zero
- name: Basic Test - privilege-tests
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --ci privilege 2> /dev/null
- name: Basic Test - misc-tests
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci misc-tests 2> /dev/zero
- name: Basic Test - nodiff-tests
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --no-diff --ci nodiff-tests 2> /dev/zero
- name: Random SPEC 0
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci random --timeout 3600 2> perf.log
cat perf.log | sort | tee $PERF_HOME/random_0.log
- name: Random SPEC 1
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci random --timeout 3600 2> perf.log
cat perf.log | sort | tee $PERF_HOME/random_1.log
- name: Random SPEC 2
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci random --timeout 3600 2> perf.log
cat perf.log | sort | tee $PERF_HOME/random_2.log
- name: Random SPEC 3
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci random --timeout 3600 2> perf.log
cat perf.log | sort | tee $PERF_HOME/random_3.log
- name: Uncache Fetch Test - copy and run
run: |
$GITHUB_WORKSPACE/build/emu -F $GITHUB_WORKSPACE/ready-to-run/copy_and_run.bin -i $GITHUB_WORKSPACE/ready-to-run/microbench.bin --diff $GITHUB_WORKSPACE/ready-to-run/riscv64-nemu-interpreter-so --enable-fork 2> perf.log
cat perf.log | sort | tee $PERF_HOME/copy_and_run.log
- name: Uncache Fetch Test - recursion
run: |
$GITHUB_WORKSPACE/build/emu -F $GITHUB_WORKSPACE/ready-to-run/flash_recursion_test.bin -i $GITHUB_WORKSPACE/ready-to-run/microbench.bin --diff $GITHUB_WORKSPACE/ready-to-run/riscv64-nemu-interpreter-so --enable-fork 2> perf.log
cat perf.log | sort | tee $PERF_HOME/flash_recursion.log
emu-mc:
runs-on: bosc
continue-on-error: false
timeout-minutes: 900
name: EMU - MC
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: set env
run: |
export HEAD_SHA=${{ github.run_number }}
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA}
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA}
- name: clean up
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean
- name: Build MC EMU
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \
--num-cores 2 \
--dramsim3 /nfs/home/share/ci-workloads/DRAMsim3 \
--with-dramsim3 --threads 16
- name: MC Test
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --diff ./ready-to-run/riscv64-nemu-interpreter-dual-so --ci mc-tests 2> /dev/zero
- name: SMP Linux
run: |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --diff ./ready-to-run/riscv64-nemu-interpreter-dual-so --ci linux-hello-smp 2> /dev/zero