diff --git a/.travis.yml b/.travis.yml index 5a353ae24900825eb34d66d1862ec89c9aee3482..b90b5998143d1fefbe939824e0271ce152bf9605 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,73 +80,137 @@ jobs: - ci/install-verilator.sh - ci/install-dtc.sh - ci/install-spike.sh + - stage: test name: run riscv benchmarks (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-benchmarks-verilator defines=WB_DCACHE - # rv64ui-p-* tests + + # asm tests + # rv64ui-v-* tests - stage: test name: run asm tests1 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests1-verilator defines=WB_DCACHE - # rv64ui-v-* tests + - stage: test name: run asm tests2 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests2-verilator defines=WB_DCACHE + # rv64ui-p-* tests + - stage: test + name: run asm tests3 (Write-Back Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests3-verilator defines=WB_DCACHE + - stage: test + name: run asm tests4 (Write-Back Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests4-verilator defines=WB_DCACHE + # rv64mi-p-* tests + - stage: test + name: run asm tests5 (Write-Back Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests5-verilator defines=WB_DCACHE + # rv64-* other tests + - stage: test + name: run asm tests6 (Write-Back Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests6-verilator defines=WB_DCACHE + # rv64um-*-* tests - stage: test name: run mul tests (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-mul-verilator defines=WB_DCACHE + # amo tests + # rv64ua-v-* tests + - stage: test + name: run amo tests1 (Write-Back Cache) + script: + - ci/build-riscv-tests.sh + - travis_wait 60 make -j${NUM_JOBS} run-amo-tests1-verilator defines=WB_DCACHE - stage: test - name: run amo tests (Write-Back Cache) + name: run amo tests2 (Write-Back Cache) script: - ci/build-riscv-tests.sh - - make -j${NUM_JOBS} run-amo-verilator defines=WB_DCACHE + - travis_wait 60 make -j${NUM_JOBS} run-amo-tests2-verilator defines=WB_DCACHE + # rv64ua-p-* tests - stage: test - name: run torture + name: run amo tests3 (Write-Back Cache) script: - - ci/get-torture.sh - - make clean - - make torture-gen - - make torture-rtest-verilator + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-amo-tests3-verilator defines=WB_DCACHE - stage: test name: run riscv benchmarks (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-benchmarks-verilator defines=WT_DCACHE - # rv64ui-p-* tests + + # asm tests + # rv64ui-v-* tests - stage: test name: run asm tests1 (Write-through Cache) script: - ci/build-riscv-tests.sh - - make -j${NUM_JOBS} run-asm-tests1-verilator defines=WT_DCACHE - # rv64ui-v-* tests + - make -j${NUM_JOBS} run-asm-tests1-verilator defines=WT_DCACHE + - stage: test name: run asm tests2 (Write-through Cache) script: - ci/build-riscv-tests.sh - - make -j${NUM_JOBS} run-asm-tests2-verilator defines=WT_DCACHE + - make -j${NUM_JOBS} run-asm-tests2-verilator defines=WT_DCACHE + # rv64ui-p-* tests + - stage: test + name: run asm tests3 (Write-through Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests3-verilator defines=WT_DCACHE + - stage: test + name: run asm tests4 (Write-through Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests4-verilator defines=WT_DCACHE + # rv64mi-p-* tests + - stage: test + name: run asm tests5 (Write-through Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests5-verilator defines=WT_DCACHE + # rv64-* other tests + - stage: test + name: run asm tests6 (Write-through Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-asm-tests6-verilator defines=WT_DCACHE + # amo tests + # rv64ua-v-* tests + - stage: test + name: run amo tests1 (Write-through Cache) + script: + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-amo-tests1-verilator defines=WT_DCACHE - stage: test - name: run amo tests + name: run amo tests2 (Write-through Cache) script: - ci/build-riscv-tests.sh - - make -j${NUM_JOBS} run-amo-verilator defines=WT_DCACHE + - make -j${NUM_JOBS} run-amo-tests2-verilator defines=WT_DCACHE + # rv64ua-p-* tests - stage: test - name: run torture (Write-through Cache) + name: run amo tests3 (Write-through Cache) script: - - ci/get-torture.sh - - make clean - - make torture-gen defines=WT_DCACHE - - make torture-rtest-verilator defines=WT_DCACHE + - ci/build-riscv-tests.sh + - make -j${NUM_JOBS} run-amo-tests3-verilator defines=WT_DCACHE # extra time during long builds install: travis_wait diff --git a/Makefile b/Makefile index 91ed4d4fce198bd98b0f386727c1ab7abc78eca3..8f0ca9a0e11e7373a2060fe4f7bc8e4d97653d3b 100644 --- a/Makefile +++ b/Makefile @@ -397,13 +397,39 @@ $(addsuffix -verilator,$(riscv-benchmarks)): verilate run-asm-tests-verilator: $(addsuffix -verilator, $(riscv-asm-tests)) $(addsuffix -verilator, $(riscv-amo-tests)) $(addsuffix -verilator, $(riscv-fp-tests)) $(addsuffix -verilator, $(riscv-fp-tests)) -# split into two halfs for travis jobs (otherwise they will time out) -run-asm-tests1-verilator: $(addsuffix -verilator, $(filter rv64ui-v-% ,$(riscv-asm-tests))) +# split into smaller travis jobs (otherwise they will time out) +riscv-asm-rv64ui-v := $(filter rv64ui-v-%, $(riscv-asm-tests)) -run-asm-tests2-verilator: $(addsuffix -verilator, $(filter-out rv64ui-v-% ,$(riscv-asm-tests))) +riscv-asm-rv64ui-p := $(filter rv64ui-p-%, $(riscv-asm-tests)) + +riscv-asm-rv64mi-p := $(filter rv64mi-p-%, $(riscv-asm-tests)) + +riscv-asm-rest := $(filter-out $(riscv-asm-rv64ui-v) $(riscv-asm-rv64ui-p) $(riscv-asm-rv64mi-p), $(riscv-asm-tests)) + +run-asm-tests1-verilator: $(addsuffix -verilator, $(filter rv64ui-v-a% rv64ui-v-b%, $(riscv-asm-rv64ui-v))) + +run-asm-tests2-verilator: $(addsuffix -verilator, $(filter-out rv64ui-v-a% rv64ui-v-b%, $(riscv-asm-rv64ui-v))) + +run-asm-tests3-verilator: $(addsuffix -verilator, $(filter rv64ui-p-a% rv64ui-p-b%, $(riscv-asm-rv64ui-p))) + +run-asm-tests4-verilator: $(addsuffix -verilator, $(filter-out rv64ui-p-a% rv64ui-p-b%, $(riscv-asm-rv64ui-p))) + +run-asm-tests5-verilator: $(addsuffix -verilator, $(riscv-asm-rv64mi-p)) + +run-asm-tests6-verilator: $(addsuffix -verilator, $(riscv-asm-rest)) run-amo-verilator: $(addsuffix -verilator, $(riscv-amo-tests)) +riscv-amo-rv64ua-v := $(filter rv64ua-v-%, $(riscv-amo-tests)) + +riscv-amo-rv64ua-p := $(filter rv64ua-p-%, $(riscv-amo-tests)) + +run-amo-tests1-verilator: $(addsuffix -verilator, $(filter rv64ua-v-amom%, $(riscv-amo-rv64ua-v))) + +run-amo-tests2-verilator: $(addsuffix -verilator, $(filter-out rv64ua-v-amom%, $(riscv-amo-rv64ua-v))) + +run-amo-tests3-verilator: $(addsuffix -verilator, $(riscv-amo-rv64ua-p)) + run-mul-verilator: $(addsuffix -verilator, $(riscv-mul-tests)) run-fp-verilator: $(addsuffix -verilator, $(riscv-fp-tests))