new file mode 100644
@@ -0,0 +1,75 @@
+BUILD_DIR=../../../build/
+SRC_PATH=../../../
+include $(BUILD_DIR)/config-host.mak
+include $(SRC_PATH)/rules.mak
+
+$(call set-vpath, $(SRC_PATH)/tests/tcg/misc)
+
+QEMU=$(BUILD_DIR)/$(ARCH)-linux-user/qemu-$(ARCH)
+
+QEMU_INCLUDES += -I$(BUILD_DIR)
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing -I$(SRC_PATH)/include -I$(BUILD_DIR)
+#CFLAGS+=-msse2
+LDFLAGS=
+
+# TODO: automatically detect ARM and MIPS compilers, and run those too
+
+# runcom maps page 0, so it requires root privileges
+# also, pi_10.com runs indefinitely
+
+TESTS=linux-test \
+ testthread \
+ sha1 \
+ test-mmap \
+ test_path
+ # runcom
+
+all: $(patsubst %,run-%,$(TESTS))
+test: all
+
+# rules to run tests
+
+run-%: %
+ -$(QEMU) ./$*
+
+run-linux-test: linux-test
+run-testthread: testthread
+run-sha1: sha1
+run-test_path: test_path
+
+run-test-mmap: test-mmap
+ -$(QEMU) ./test-mmap
+ -$(QEMU) -p 8192 ./test-mmap 8192
+ -$(QEMU) -p 16384 ./test-mmap 16384
+ -$(QEMU) -p 32768 ./test-mmap 32768
+
+run-test_path: test_path
+
+# rules to compile tests
+
+test_path: test_path.o
+ $(CC) $^ -o $@ -lglib-2.0
+
+test_path.o: test_path.c
+ $(CC) $^ -c -o $@ $(QEMU_INCLUDES) `pkg-config --cflags --libs glib-2.0`
+
+testthread: testthread.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
+
+# generic Linux and CPU test
+linux-test: linux-test.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm
+
+test-mmap: test-mmap.c
+ $(CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static
+
+# speed test
+sha1: sha1.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
+
+speed: sha1
+ time ./sha1
+ time $(QEMU) ./sha1
+
+clean:
+ rm -f *~ *.o $(TESTS)
similarity index 99%
rename from tests/tcg/linux-test.c
rename to tests/tcg/misc/linux-test.c
@@ -39,6 +39,9 @@
#include <dirent.h>
#include <setjmp.h>
#include <sys/shm.h>
+#include <stdbool.h>
+#include <sys/resource.h>
+#include "qemu/compiler.h"
#include "qemu/cutils.h"
#define TESTPATH "/tmp/linux-test.tmp"
similarity index 100%
rename from tests/tcg/sha1.c
rename to tests/tcg/misc/sha1.c
similarity index 100%
rename from tests/tcg/test-mmap.c
rename to tests/tcg/misc/test-mmap.c
similarity index 100%
rename from tests/tcg/test_path.c
rename to tests/tcg/misc/test_path.c
similarity index 100%
rename from tests/tcg/testthread.c
rename to tests/tcg/misc/testthread.c
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- tests/tcg/misc/Makefile | 75 +++++++++++++++++++++++++++++++++++++++ tests/tcg/{ => misc}/linux-test.c | 3 ++ tests/tcg/{ => misc}/sha1.c | 0 tests/tcg/{ => misc}/test-mmap.c | 0 tests/tcg/{ => misc}/test_path.c | 0 tests/tcg/{ => misc}/testthread.c | 0 6 files changed, 78 insertions(+) create mode 100644 tests/tcg/misc/Makefile rename tests/tcg/{ => misc}/linux-test.c (99%) rename tests/tcg/{ => misc}/sha1.c (100%) rename tests/tcg/{ => misc}/test-mmap.c (100%) rename tests/tcg/{ => misc}/test_path.c (100%) rename tests/tcg/{ => misc}/testthread.c (100%)