From 9d42d34bdf0b3bc529291adf9b843a5c6a2cf847 Mon Sep 17 00:00:00 2001 From: Sean Wilson Date: Thu, 3 Aug 2017 11:22:57 -0500 Subject: tests: Add test for the m5-exit instruction. Change-Id: I92a589b267ce659b6fbcf710043436b84fcb1c63 Signed-off-by: Sean Wilson Reviewed-on: https://gem5-review.googlesource.com/4423 Maintainer: Jason Lowe-Power Reviewed-by: Anthony Gutierrez --- tests/test-progs/m5-exit/.gitignore | 1 + tests/test-progs/m5-exit/src/Makefile.x86 | 28 ++++++++++++++++++++++++++++ tests/test-progs/m5-exit/src/m5-exit.c | 19 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 tests/test-progs/m5-exit/.gitignore create mode 100644 tests/test-progs/m5-exit/src/Makefile.x86 create mode 100644 tests/test-progs/m5-exit/src/m5-exit.c (limited to 'tests/test-progs') diff --git a/tests/test-progs/m5-exit/.gitignore b/tests/test-progs/m5-exit/.gitignore new file mode 100644 index 000000000..fb36b714b --- /dev/null +++ b/tests/test-progs/m5-exit/.gitignore @@ -0,0 +1 @@ +bin/x86 diff --git a/tests/test-progs/m5-exit/src/Makefile.x86 b/tests/test-progs/m5-exit/src/Makefile.x86 new file mode 100644 index 000000000..eba7342ab --- /dev/null +++ b/tests/test-progs/m5-exit/src/Makefile.x86 @@ -0,0 +1,28 @@ +SERVER_USER= +SERVER_PATH=/z/www/htdocs/dist/current/test-progs/m5-exit/bin/x86/linux +FETCH_PATH=http://gem5.org/dist/current/test-progs/m5-exit/bin/x86/linux + +UPLOAD_LOCATION=$(SERVER_USER)daystrom.gem5.org:$(SERVER_PATH) + +M5_UTIL:=${CURDIR}/../../../../util/m5 +M5_INCLUDE:=${CURDIR}/../../../../include/ + +all: m5_exit + +upload: m5_exit + scp m5_exit $(UPLOAD_LOCATION) + +# NOTE: For docker to work, all of the files must be in this directory +m5_exit: m5-exit.c + cp -r $(M5_INCLUDE)/gem5 . + cp $(M5_UTIL)/m5op_x86.S . + ./dockcross-x64 -c '$$CC -I. m5op_x86.S m5-exit.c -o m5_exit -static -DM5' + rm m5op_x86.S + rm -r gem5 + +dockcross-x64: + docker run --rm dockcross/linux-x64 > ./dockcross-x64 + chmod +x ./dockcross-x64 + +clean: + rm -f dockcross-* m5_exit diff --git a/tests/test-progs/m5-exit/src/m5-exit.c b/tests/test-progs/m5-exit/src/m5-exit.c new file mode 100644 index 000000000..fc1b35b55 --- /dev/null +++ b/tests/test-progs/m5-exit/src/m5-exit.c @@ -0,0 +1,19 @@ +#include + +#ifdef M5 +#include + +// If you need to define this, you should have removed the -DM5OP_ADDR +// when compiling the m5op_x86.o +//void *m5_mem = (void*)0xCAFEBABE; +#endif + +int main() { + #ifdef M5 + m5_exit(0); + #endif + printf("FAIL!\n"); + printf("Program should have exited due to the magic m5_exit" + " instruction!\n"); + return -1; +} -- cgit v1.2.3