From c9a2b7d109c1307c83dcebaa8592ec10dda5fa58 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Sat, 30 Jan 2016 20:54:41 -0800 Subject: [PATCH] Add torture as part of the regression Since the latest Spike fix my torture runs are succeeding, so I can now run it as part of the regression flow. --- .gitmodules | 3 +++ regression/.gitignore | 1 + regression/Makefile | 19 +++++++++++++++++++ torture | 1 + 4 files changed, 24 insertions(+) create mode 160000 torture diff --git a/.gitmodules b/.gitmodules index 0ea3dbc0..c6f9f713 100644 --- a/.gitmodules +++ b/.gitmodules @@ -31,3 +31,6 @@ [submodule "groundtest"] path = groundtest url = https://github.com/ucb-bar/groundtest.git +[submodule "torture"] + path = torture + url = https://github.com/ucb-bar/riscv-torture.git diff --git a/regression/.gitignore b/regression/.gitignore index 0df50ec2..6f5a28b0 100644 --- a/regression/.gitignore +++ b/regression/.gitignore @@ -1,2 +1,3 @@ /install /stamps +/torture-failures diff --git a/regression/Makefile b/regression/Makefile index 88c38d8b..2a25f022 100644 --- a/regression/Makefile +++ b/regression/Makefile @@ -4,6 +4,10 @@ regression: vsim-regression fsim-regression emulator-regression # Regression targets for the various simulators. %-regression: %-asm-tests %-bmark-tests +# Some targets can run torture +vsim-regression: vsim-torture +emulator-regression: emulator-torture + ifeq ($(CONFIG),) $(error Set CONFIG to the rocket-chip configuration to elaborate and test) endif @@ -40,16 +44,19 @@ emulator-debug: stamps/$(CONFIG)/emulator-debug.stamp emulator-ndebug: stamps/$(CONFIG)/emulator-ndebug.stamp emulator-asm-tests: stamps/$(CONFIG)/emulator-asm-tests.stamp emulator-bmark-tests: stamps/$(CONFIG)/emulator-bmark-tests.stamp +emulator-torture: stamps/$(CONFIG)/emulator-torture-$(TORTURE_CONFIG).stamp vsim-debug: stamps/$(CONFIG)/vsim-debug.stamp vsim-ndebug: stamps/$(CONFIG)/vsim-ndebug.stamp vsim-asm-tests: stamps/$(CONFIG)/vsim-asm-tests.stamp vsim-bmark-tests: stamps/$(CONFIG)/vsim-bmark-tests.stamp +vsim-torture: stamps/$(CONFIG)/vsim-torture-$(TORTURE_CONFIG).stamp fsim-debug: stamps/$(CONFIG)/fsim-debug.stamp fsim-ndebug: stamps/$(CONFIG)/fsim-ndebug.stamp fsim-asm-tests: stamps/$(CONFIG)/fsim-asm-tests.stamp fsim-bmark-tests: stamps/$(CONFIG)/fsim-bmark-tests.stamp +fsim-torture: stamps/$(CONFIG)/fsim-torture-$(TORTURE_CONFIG).stamp # Checks out all the rocket-chip submodules stamps/submodules.stamp: @@ -84,3 +91,15 @@ stamps/$(CONFIG)/%-bmark-tests.stamp: stamps/$(CONFIG)/%-ndebug.stamp stamps/too mkdir -p $(dir $@) $(MAKE) -C $(abspath $(TOP))/$(patsubst stamps/$(CONFIG)/%-bmark-tests.stamp,%,$@) CONFIG=$(CONFIG) RISCV=$(abspath $(RISCV)) run-bmark-tests touch $@ + +# The torture tests run subtly differently on the different targets, so they +# don't have pattern rules like everything else does. +stamps/$(CONFIG)/vsim-torture-$(TORTURE_CONFIG).stamp: stamps/$(CONFIG)/vsim-debug.stamp stamps/$(CONFIG)/vsim-ndebug.stamp + mkdir -p $(dir $@) + $(MAKE) -C $(abspath $(TOP))/torture rnight RTL_CONFIG=$(CONFIG) RISCV=$(abspath $(RISCV)) PATH="$(abspath $(RISCV)/bin:$(PATH))" OPTIONS="-C $(abspath $(TOP)/torture/config/$(TORTURE_CONFIG).config) -p $(abspath $(TORTURE_SAVE_DIR)) -m 30 -t 10" + touch $@ + +stamps/$(CONFIG)/emulator-torture-$(TORTURE_CONFIG).stamp: stamps/$(CONFIG)/emulator-debug.stamp stamps/$(CONFIG)/emulator-ndebug.stamp + mkdir -p $(dir $@) + $(MAKE) -C $(abspath $(TOP))/torture cnight RTL_CONFIG=$(CONFIG) RISCV=$(abspath $(RISCV)) PATH="$(abspath $(RISCV)/bin:$(PATH))" OPTIONS="-C $(abspath $(TOP)/torture/config/$(TORTURE_CONFIG).config) -p $(abspath $(TORTURE_SAVE_DIR)) -m 30 -t 10" + touch $@ diff --git a/torture b/torture new file mode 160000 index 00000000..9e0503a5 --- /dev/null +++ b/torture @@ -0,0 +1 @@ +Subproject commit 9e0503a565dcb6dce2d903b6899459698166362b