diff --git a/ci/blackbox.sh b/ci/blackbox.sh index 5b8e639e..a2e5bb9b 100755 --- a/ci/blackbox.sh +++ b/ci/blackbox.sh @@ -126,9 +126,6 @@ then elif [ -d "$VORTEX_HOME/tests/regression/$APP" ]; then APP_PATH=$VORTEX_HOME/tests/regression/$APP -elif [ -d "$VORTEX_HOME/tests/driver/$APP" ]; -then - APP_PATH=$VORTEX_HOME/tests/driver/$APP else echo "Application folder found: $APP" exit -1 diff --git a/tests/regression/basic/Makefile b/tests/regression/basic/Makefile index c0676952..139ec97d 100644 --- a/tests/regression/basic/Makefile +++ b/tests/regression/basic/Makefile @@ -1,5 +1,6 @@ RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain -VORTEX_RT_PATH ?= $(wildcard ../../../runtime) +VORTEX_DRV_PATH ?= $(realpath ../../../driver) +VORTEX_RT_PATH ?= $(realpath ../../../runtime) OPTS ?= -n256 @@ -18,9 +19,9 @@ VX_SRCS = kernel.c #CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors -CXXFLAGS += -I../../include +CXXFLAGS += -I$(VORTEX_DRV_PATH)/include -LDFLAGS += +LDFLAGS += -L$(VORTEX_DRV_PATH)/stub -lvortex PROJECT = basic @@ -38,22 +39,22 @@ kernel.elf: $(VX_SRCS) $(VX_CC) $(VX_CFLAGS) $(VX_SRCS) $(VX_LDFLAGS) -o kernel.elf $(PROJECT): $(SRCS) - $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@ + $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ -run-fpga: $(PROJECT) - LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) +run-simx: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/simx:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-fpga: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) -run-asesim: $(PROJECT) - ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) +run-asesim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-vlsim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/vlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) -run-vlsim: $(PROJECT) - ASE_LOG=0 LD_LIBRARY_PATH=../../opae/vlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) - -run-rtlsim: $(PROJECT) - LD_LIBRARY_PATH=../../rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) - -run-simx: $(PROJECT) - LD_LIBRARY_PATH=../../simx:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) +run-rtlsim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) .depend: $(SRCS) $(CXX) $(CXXFLAGS) -MM $^ > .depend; diff --git a/tests/regression/basic/kernel.bin b/tests/regression/basic/kernel.bin index ce029e16..99f4cc2c 100755 Binary files a/tests/regression/basic/kernel.bin and b/tests/regression/basic/kernel.bin differ diff --git a/tests/regression/basic/kernel.dump b/tests/regression/basic/kernel.dump index 97e00a26..fea97201 100644 --- a/tests/regression/basic/kernel.dump +++ b/tests/regression/basic/kernel.dump @@ -460,7 +460,7 @@ Disassembly of section .text: 800006a0: 00492703 lw a4,4(s2) 800006a4: 148a2783 lw a5,328(s4) 800006a8: 01871463 bne a4,s8,800006b0 <__call_exitprocs+0xe8> -800006ac: f8f904e3 beq s2,a5,80000634 <__call_exitprocs+0x6c> +800006ac: f92784e3 beq a5,s2,80000634 <__call_exitprocs+0x6c> 800006b0: f80788e3 beqz a5,80000640 <__call_exitprocs+0x78> 800006b4: 00078913 mv s2,a5 800006b8: f5dff06f j 80000614 <__call_exitprocs+0x4c> @@ -520,21 +520,20 @@ Disassembly of section .comment: 0: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm 4: 2820 fld fs0,80(s0) 6: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm - a: 3920 fld fs0,112(a0) - c: 322e fld ft4,232(sp) - e: 302e fld ft0,232(sp) - ... + a: 3120 fld fs0,96(a0) + c: 2e30 fld fa2,88(a2) + e: 2e32 fld ft8,264(sp) + 10: 0030 addi a2,sp,8 Disassembly of section .riscv.attributes: 00000000 <.riscv.attributes>: - 0: 2541 jal 680 <__stack_size+0x280> + 0: 2941 jal 490 <__stack_size+0x90> 2: 0000 unimp 4: 7200 flw fs0,32(a2) 6: 7369 lui t1,0xffffa 8: 01007663 bgeu zero,a6,14 <__stack_usage+0x14> - c: 0000001b 0x1b - 10: 1004 addi s1,sp,32 + c: 001f 0000 1004 0x10040000001f 12: 7205 lui tp,0xfffe1 14: 3376 fld ft6,376(sp) 16: 6932 flw fs2,12(sp) @@ -543,3 +542,5 @@ Disassembly of section .riscv.attributes: 1c: 326d jal fffff9c6 <__stack_top+0xfff9c6> 1e: 3070 fld fa2,224(s0) 20: 665f 7032 0030 0x307032665f + 26: 0108 addi a0,sp,128 + 28: 0b0a slli s6,s6,0x2 diff --git a/tests/regression/basic/kernel.elf b/tests/regression/basic/kernel.elf index 17655190..e9567a36 100755 Binary files a/tests/regression/basic/kernel.elf and b/tests/regression/basic/kernel.elf differ diff --git a/tests/regression/demo/Makefile b/tests/regression/demo/Makefile index e0cee958..a78f605a 100644 --- a/tests/regression/demo/Makefile +++ b/tests/regression/demo/Makefile @@ -1,5 +1,6 @@ RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain -VORTEX_RT_PATH ?= $(wildcard ../../../runtime) +VORTEX_DRV_PATH ?= $(realpath ../../../driver) +VORTEX_RT_PATH ?= $(realpath ../../../runtime) OPTS ?= -n64 @@ -18,7 +19,9 @@ VX_SRCS = kernel.c #CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors -CXXFLAGS += -I../../include +CXXFLAGS += -I$(VORTEX_DRV_PATH)/include + +LDFLAGS += -L$(VORTEX_DRV_PATH)/stub -lvortex PROJECT = demo @@ -36,22 +39,22 @@ kernel.elf: $(VX_SRCS) $(VX_CC) $(VX_CFLAGS) $(VX_SRCS) $(VX_LDFLAGS) -o kernel.elf $(PROJECT): $(SRCS) - $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@ + $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ -run-fpga: $(PROJECT) - LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) - -run-asesim: $(PROJECT) - ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) - -run-vlsim: $(PROJECT) - LD_LIBRARY_PATH=../../opae/vlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) - -run-rtlsim: $(PROJECT) - LD_LIBRARY_PATH=../../rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) +run-simx: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/simx:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) -run-simx: $(PROJECT) - LD_LIBRARY_PATH=../../simx:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) +run-fpga: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-asesim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-vlsim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/vlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-rtlsim: $(PROJECT) kernel.bin + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) .depend: $(SRCS) $(CXX) $(CXXFLAGS) -MM $^ > .depend; diff --git a/tests/regression/demo/kernel.bin b/tests/regression/demo/kernel.bin index 312ec4d8..5c6dd6e8 100755 Binary files a/tests/regression/demo/kernel.bin and b/tests/regression/demo/kernel.bin differ diff --git a/tests/regression/demo/kernel.dump b/tests/regression/demo/kernel.dump index a9934892..4f7824c6 100644 --- a/tests/regression/demo/kernel.dump +++ b/tests/regression/demo/kernel.dump @@ -101,12 +101,12 @@ Disassembly of section .text: 80000134: 01312623 sw s3,12(sp) 80000138: fc0027f3 csrr a5,0xfc0 8000013c: 0007806b 0x7806b -80000140: cc5026f3 csrr a3,0xcc5 +80000140: cc5027f3 csrr a5,0xcc5 80000144: cc3029f3 csrr s3,0xcc3 80000148: cc002773 csrr a4,0xcc0 8000014c: fc002673 csrr a2,0xfc0 -80000150: 800027b7 lui a5,0x80002 -80000154: 00269693 slli a3,a3,0x2 +80000150: 00279693 slli a3,a5,0x2 +80000154: 800027b7 lui a5,0x80002 80000158: d4c78793 addi a5,a5,-692 # 80001d4c <__stack_top+0x81001d4c> 8000015c: 00d787b3 add a5,a5,a3 80000160: 0007a483 lw s1,0(a5) @@ -605,7 +605,7 @@ Disassembly of section .text: 800008cc: 00492703 lw a4,4(s2) 800008d0: 148a2783 lw a5,328(s4) 800008d4: 01871463 bne a4,s8,800008dc <__call_exitprocs+0xe8> -800008d8: f8f904e3 beq s2,a5,80000860 <__call_exitprocs+0x6c> +800008d8: f92784e3 beq a5,s2,80000860 <__call_exitprocs+0x6c> 800008dc: f80788e3 beqz a5,8000086c <__call_exitprocs+0x78> 800008e0: 00078913 mv s2,a5 800008e4: f5dff06f j 80000840 <__call_exitprocs+0x4c> @@ -670,21 +670,20 @@ Disassembly of section .comment: 0: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm 4: 2820 fld fs0,80(s0) 6: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm - a: 3920 fld fs0,112(a0) - c: 322e fld ft4,232(sp) - e: 302e fld ft0,232(sp) - ... + a: 3120 fld fs0,96(a0) + c: 2e30 fld fa2,88(a2) + e: 2e32 fld ft8,264(sp) + 10: 0030 addi a2,sp,8 Disassembly of section .riscv.attributes: 00000000 <.riscv.attributes>: - 0: 2541 jal 680 <__stack_size+0x280> + 0: 2941 jal 490 <__stack_size+0x90> 2: 0000 unimp 4: 7200 flw fs0,32(a2) 6: 7369 lui t1,0xffffa 8: 01007663 bgeu zero,a6,14 <__stack_usage+0x14> - c: 0000001b 0x1b - 10: 1004 addi s1,sp,32 + c: 001f 0000 1004 0x10040000001f 12: 7205 lui tp,0xfffe1 14: 3376 fld ft6,376(sp) 16: 6932 flw fs2,12(sp) @@ -693,3 +692,5 @@ Disassembly of section .riscv.attributes: 1c: 326d jal fffff9c6 <__stack_top+0xfff9c6> 1e: 3070 fld fa2,224(s0) 20: 665f 7032 0030 0x307032665f + 26: 0108 addi a0,sp,128 + 28: 0b0a slli s6,s6,0x2 diff --git a/tests/regression/demo/kernel.elf b/tests/regression/demo/kernel.elf index f9f3aa8b..26213022 100755 Binary files a/tests/regression/demo/kernel.elf and b/tests/regression/demo/kernel.elf differ