diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index efad47168..c68c50a19 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: # This workflow contains a single job called "build" setup-develop-env: # The type of runner that the job will run on - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 # Steps represent a sequence of tasks that will be executed as part of the job steps: diff --git a/DRAMsim3 b/DRAMsim3 index 7fcf42d45..fca1245ac 160000 --- a/DRAMsim3 +++ b/DRAMsim3 @@ -1 +1 @@ -Subproject commit 7fcf42d45dcafe755f5cb9e5a253d5c0dbdbaaf9 +Subproject commit fca1245acfff01a4f18830cd15675e904564aa2a diff --git a/NEMU b/NEMU index 3033a69fb..a6a5f9b14 160000 --- a/NEMU +++ b/NEMU @@ -1 +1 @@ -Subproject commit 3033a69fb8cdd9939ebb43315f86f38ab97346fe +Subproject commit a6a5f9b1452adef3b90a0a47f59fd38a61df1e9b diff --git a/NutShell b/NutShell index fa8de4828..d114ea0bb 160000 --- a/NutShell +++ b/NutShell @@ -1 +1 @@ -Subproject commit fa8de482817e6044042e8edeb4e3a60f494195c8 +Subproject commit d114ea0bb70a91d496dd6a33fac3677cdc407f96 diff --git a/XiangShan b/XiangShan index 8fae59bba..49162c9ab 160000 --- a/XiangShan +++ b/XiangShan @@ -1 +1 @@ -Subproject commit 8fae59bba57fd80fcd1d85aadbf87895b97d167a +Subproject commit 49162c9ab67070931573c1d4a372e2c858a72716 diff --git a/env-test.sh b/env-test.sh index 5230f9e81..08cd482c2 100644 --- a/env-test.sh +++ b/env-test.sh @@ -9,7 +9,21 @@ source env.sh export NOOP_HOME=$(pwd)/NutShell cd ${NEMU_HOME} -make riscv64-nutshell-ref_defconfig + +# CPT_restorer need -march=rv64gcbkvh support. Test here. +CPT_CROSS_COMPILE_LIST='riscv64-linux-gnu- riscv64-unknown-linux-gnu-' +for COMPILE in $CPT_CROSS_COMPILE_LIST; do + echo | ${COMPILE}gcc -S -march=rv64gcbkvh -o /dev/null -x c - + if [ $? -eq 0 ]; then + CPT_CROSS_COMPILE=$COMPILE + break + fi +done +if [ -z $CPT_CROSS_COMPILE ]; then + echo 'No supported RISC-V compiler found! riscv64[-unknown]-linux-gnu-gcc with -march=rv64gcbkvh support needed.' + exit 1 +fi +make riscv64-nutshell-ref_defconfig CPT_CROSS_COMPILE=${CPT_CROSS_COMPILE} make # Compile processor project diff --git a/install-verilator.sh b/install-verilator.sh index 8f9bbd32b..00cca6ada 100644 --- a/install-verilator.sh +++ b/install-verilator.sh @@ -12,8 +12,8 @@ git clone https://github.com/verilator/verilator unset VERILATOR_ROOT # For bash cd verilator -# XiangShan uses Verilator v5.020 -git checkout v5.020 +# XiangShan uses Verilator v5.028 +git checkout v5.028 autoconf # Create ./configure script # Configure and create Makefile diff --git a/nexus-am b/nexus-am index f017fa3a1..28c275b0e 160000 --- a/nexus-am +++ b/nexus-am @@ -1 +1 @@ -Subproject commit f017fa3a165e5c6e4d13f5d0be921323f55df567 +Subproject commit 28c275b0ea38a341e6ce158d631bb41109863dd2 diff --git a/setup-tools.sh b/setup-tools.sh index 48ac16b82..1fac6d76d 100755 --- a/setup-tools.sh +++ b/setup-tools.sh @@ -3,7 +3,7 @@ apt update apt install proxychains4 shadowsocks-libev vim wget git tmux make gcc clang llvm time curl libreadline6-dev libsdl2-dev gcc-riscv64-linux-gnu openjdk-11-jre zlib1g-dev device-tree-compiler flex autoconf bison sqlite3 libsqlite3-dev zstd libzstd-dev -sh -c "curl -L https://github.com/com-lihaoyi/mill/releases/download/0.11.6/0.11.6 > /usr/local/bin/mill && chmod +x /usr/local/bin/mill" +sh -c "curl -L https://github.com/com-lihaoyi/mill/releases/download/0.11.12/0.11.12 > /usr/local/bin/mill && chmod +x /usr/local/bin/mill" # We need to use Verilator 4.204+, so we install Verilator manually source ./install-verilator.sh