[bug-fix] prevent access to dasics registers in untrusted zone #1
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 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 | |