* [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder
2016-08-29 22:49 [Qemu-devel] [PATCH v2 0/4] Clean up TCG tests Pranith Kumar
@ 2016-08-29 22:49 ` Pranith Kumar
2016-09-09 14:43 ` Alex Bennée
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 2/4] tests/tcg: Move mips test " Pranith Kumar
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Pranith Kumar @ 2016-08-29 22:49 UTC (permalink / raw)
To: qemu-devel; +Cc: alex.bennee, rth
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
---
tests/tcg/arm/Makefile | 45 +++++++++++++++++++++++++++++++++++
tests/tcg/{ => arm}/hello-arm.c | 0
tests/tcg/{ => arm}/test-arm-iwmmxt.s | 0
3 files changed, 45 insertions(+)
create mode 100644 tests/tcg/arm/Makefile
rename tests/tcg/{ => arm}/hello-arm.c (100%)
rename tests/tcg/{ => arm}/test-arm-iwmmxt.s (100%)
diff --git a/tests/tcg/arm/Makefile b/tests/tcg/arm/Makefile
new file mode 100644
index 0000000..da92305
--- /dev/null
+++ b/tests/tcg/arm/Makefile
@@ -0,0 +1,45 @@
+BUILD_DIR=../../../build/
+SRC_PATH=../../../
+include $(BUILD_DIR)/config-host.mak
+include $(SRC_PATH)/rules.mak
+
+$(call set-vpath, $(SRC_PATH)/tests/tcg/arm)
+
+QEMU=$(BUILD_DIR)/arm-linux-user/qemu-arm
+
+QEMU_INCLUDES += -I$(BUILD_DIR)
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+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=hello-arm arm-iwmmxt
+
+all: $(patsubst %,run-%,$(TESTS))
+test: all
+
+# rules to run tests
+
+run-%: %
+ $(QEMU) ./$*
+
+#.PHONY: $(patsubst %,run-%,$(TESTS))
+
+run-hello-arm: hello-arm
+run-arm-iwmmxt: arm-iwmmxt
+
+# arm test
+hello-arm: hello-arm.o
+ arm-linux-gnueabi-ld -o $@ $<
+
+hello-arm.o: hello-arm.c
+ arm-linux-gnueabi-gcc -Wall -g -O2 -c -o $@ $<
+
+arm-iwmmxt: test-arm-iwmmxt.s
+ cpp < $< | arm-linux-gnueabi-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@
+
+clean:
+ rm -f *~ *.o $(TESTS)
diff --git a/tests/tcg/hello-arm.c b/tests/tcg/arm/hello-arm.c
similarity index 100%
rename from tests/tcg/hello-arm.c
rename to tests/tcg/arm/hello-arm.c
diff --git a/tests/tcg/test-arm-iwmmxt.s b/tests/tcg/arm/test-arm-iwmmxt.s
similarity index 100%
rename from tests/tcg/test-arm-iwmmxt.s
rename to tests/tcg/arm/test-arm-iwmmxt.s
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder Pranith Kumar
@ 2016-09-09 14:43 ` Alex Bennée
0 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-09-09 14:43 UTC (permalink / raw)
To: Pranith Kumar; +Cc: qemu-devel, rth
Pranith Kumar <bobby.prani@gmail.com> writes:
> Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
> ---
> tests/tcg/arm/Makefile | 45 +++++++++++++++++++++++++++++++++++
> tests/tcg/{ => arm}/hello-arm.c | 0
> tests/tcg/{ => arm}/test-arm-iwmmxt.s | 0
> 3 files changed, 45 insertions(+)
> create mode 100644 tests/tcg/arm/Makefile
> rename tests/tcg/{ => arm}/hello-arm.c (100%)
> rename tests/tcg/{ => arm}/test-arm-iwmmxt.s (100%)
>
> diff --git a/tests/tcg/arm/Makefile b/tests/tcg/arm/Makefile
> new file mode 100644
> index 0000000..da92305
> --- /dev/null
> +++ b/tests/tcg/arm/Makefile
> @@ -0,0 +1,45 @@
> +BUILD_DIR=../../../build/
I think this needs to come from the calling Makefile or be set if being
called direct:
BUILD_DIR?=$(CURDIR)
The BUILD_DIR can be outside of the tree.
> +SRC_PATH=../../../
> +include $(BUILD_DIR)/config-host.mak
> +include $(SRC_PATH)/rules.mak
> +
> +$(call set-vpath, $(SRC_PATH)/tests/tcg/arm)
> +
> +QEMU=$(BUILD_DIR)/arm-linux-user/qemu-arm
> +
> +QEMU_INCLUDES += -I$(BUILD_DIR)
> +CFLAGS=-Wall -O2 -g -fno-strict-aliasing
> +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=hello-arm arm-iwmmxt
> +
> +all: $(patsubst %,run-%,$(TESTS))
> +test: all
> +
> +# rules to run tests
> +
> +run-%: %
> + $(QEMU) ./$*
> +
> +#.PHONY: $(patsubst %,run-%,$(TESTS))
> +
> +run-hello-arm: hello-arm
> +run-arm-iwmmxt: arm-iwmmxt
> +
> +# arm test
> +hello-arm: hello-arm.o
> + arm-linux-gnueabi-ld -o $@ $<
> +
> +hello-arm.o: hello-arm.c
> + arm-linux-gnueabi-gcc -Wall -g -O2 -c -o $@ $<
> +
> +arm-iwmmxt: test-arm-iwmmxt.s
> + cpp < $< | arm-linux-gnueabi-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@
The ld/gcc/cpp calls need to be done via env variables so they can be
changed easily.
> +
> +clean:
> + rm -f *~ *.o $(TESTS)
> diff --git a/tests/tcg/hello-arm.c b/tests/tcg/arm/hello-arm.c
> similarity index 100%
> rename from tests/tcg/hello-arm.c
> rename to tests/tcg/arm/hello-arm.c
> diff --git a/tests/tcg/test-arm-iwmmxt.s b/tests/tcg/arm/test-arm-iwmmxt.s
> similarity index 100%
> rename from tests/tcg/test-arm-iwmmxt.s
> rename to tests/tcg/arm/test-arm-iwmmxt.s
--
Alex Bennée
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 2/4] tests/tcg: Move mips test to arch specific folder
2016-08-29 22:49 [Qemu-devel] [PATCH v2 0/4] Clean up TCG tests Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder Pranith Kumar
@ 2016-08-29 22:49 ` Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 4/4] tests/tcg: Add tests-tcg hook in Makefile Pranith Kumar
3 siblings, 0 replies; 8+ messages in thread
From: Pranith Kumar @ 2016-08-29 22:49 UTC (permalink / raw)
To: qemu-devel; +Cc: alex.bennee, rth
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
---
tests/tcg/{ => mips}/hello-mips.c | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename tests/tcg/{ => mips}/hello-mips.c (100%)
diff --git a/tests/tcg/hello-mips.c b/tests/tcg/mips/hello-mips.c
similarity index 100%
rename from tests/tcg/hello-mips.c
rename to tests/tcg/mips/hello-mips.c
--
2.9.3
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests
2016-08-29 22:49 [Qemu-devel] [PATCH v2 0/4] Clean up TCG tests Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 2/4] tests/tcg: Move mips test " Pranith Kumar
@ 2016-08-29 22:49 ` Pranith Kumar
2016-09-09 14:55 ` Alex Bennée
2016-09-09 16:04 ` Alex Bennée
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 4/4] tests/tcg: Add tests-tcg hook in Makefile Pranith Kumar
3 siblings, 2 replies; 8+ messages in thread
From: Pranith Kumar @ 2016-08-29 22:49 UTC (permalink / raw)
To: qemu-devel, Veronia Bahaa, Paolo Bonzini; +Cc: alex.bennee, rth
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%)
diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
new file mode 100644
index 0000000..39c316b
--- /dev/null
+++ b/tests/tcg/misc/Makefile
@@ -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)
diff --git a/tests/tcg/linux-test.c b/tests/tcg/misc/linux-test.c
similarity index 99%
rename from tests/tcg/linux-test.c
rename to tests/tcg/misc/linux-test.c
index 5070d31..41ad91c 100644
--- a/tests/tcg/linux-test.c
+++ b/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"
diff --git a/tests/tcg/sha1.c b/tests/tcg/misc/sha1.c
similarity index 100%
rename from tests/tcg/sha1.c
rename to tests/tcg/misc/sha1.c
diff --git a/tests/tcg/test-mmap.c b/tests/tcg/misc/test-mmap.c
similarity index 100%
rename from tests/tcg/test-mmap.c
rename to tests/tcg/misc/test-mmap.c
diff --git a/tests/tcg/test_path.c b/tests/tcg/misc/test_path.c
similarity index 100%
rename from tests/tcg/test_path.c
rename to tests/tcg/misc/test_path.c
diff --git a/tests/tcg/testthread.c b/tests/tcg/misc/testthread.c
similarity index 100%
rename from tests/tcg/testthread.c
rename to tests/tcg/misc/testthread.c
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests Pranith Kumar
@ 2016-09-09 14:55 ` Alex Bennée
2016-09-09 16:04 ` Alex Bennée
1 sibling, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-09-09 14:55 UTC (permalink / raw)
To: Pranith Kumar; +Cc: qemu-devel, Veronia Bahaa, Paolo Bonzini, rth
Pranith Kumar <bobby.prani@gmail.com> writes:
> 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%)
>
> diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
> new file mode 100644
> index 0000000..39c316b
> --- /dev/null
> +++ b/tests/tcg/misc/Makefile
> @@ -0,0 +1,75 @@
I think the aim for misc is it can be built multiple times with whatever
compiler it is passed.
> +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
I think this is a holdover from the old Makefile. I suspect the best way
is to have a conditional setting of CC, LD etc so they can be overridden.
> +
> +# 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)
> diff --git a/tests/tcg/linux-test.c b/tests/tcg/misc/linux-test.c
> similarity index 99%
> rename from tests/tcg/linux-test.c
> rename to tests/tcg/misc/linux-test.c
> index 5070d31..41ad91c 100644
> --- a/tests/tcg/linux-test.c
> +++ b/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"
> diff --git a/tests/tcg/sha1.c b/tests/tcg/misc/sha1.c
> similarity index 100%
> rename from tests/tcg/sha1.c
> rename to tests/tcg/misc/sha1.c
> diff --git a/tests/tcg/test-mmap.c b/tests/tcg/misc/test-mmap.c
> similarity index 100%
> rename from tests/tcg/test-mmap.c
> rename to tests/tcg/misc/test-mmap.c
> diff --git a/tests/tcg/test_path.c b/tests/tcg/misc/test_path.c
> similarity index 100%
> rename from tests/tcg/test_path.c
> rename to tests/tcg/misc/test_path.c
> diff --git a/tests/tcg/testthread.c b/tests/tcg/misc/testthread.c
> similarity index 100%
> rename from tests/tcg/testthread.c
> rename to tests/tcg/misc/testthread.c
--
Alex Bennée
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests Pranith Kumar
2016-09-09 14:55 ` Alex Bennée
@ 2016-09-09 16:04 ` Alex Bennée
1 sibling, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-09-09 16:04 UTC (permalink / raw)
To: Pranith Kumar; +Cc: qemu-devel, Veronia Bahaa, Paolo Bonzini, rth
Pranith Kumar <bobby.prani@gmail.com> writes:
> 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%)
>
> diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
> new file mode 100644
> index 0000000..39c316b
> --- /dev/null
> +++ b/tests/tcg/misc/Makefile
> @@ -0,0 +1,75 @@
> +BUILD_DIR=../../../build/
> +SRC_PATH=../../../
> +include $(BUILD_DIR)/config-host.mak
> +include $(SRC_PATH)/rules.mak
So the misc tests need to be called allowing change of compiler with
setting CROSS_CC. The other tests need to test is ARCH (i.e. host
architecture) matches in which case they can set CROSS_CC to CC.
Otherwise they fail to build.
See the following patch to get an idea, applies on top of your stuff but
you'll want to squash it in as appropriate:
>From c2dc6fa3abf49e6b430a980bd18101ab64a1fade Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
Date: Fri, 9 Sep 2016 16:58:12 +0100
Subject: [PATCH] tcg/tests/misc/Makefile: a number of tweaks to roll up
With this you can build with:
mkdir aarch64-linux-user/tests
cd aarch64-linux-user/tests
CROSS_CC=aarch64-linux-gnu-gcc make -f ../../tests/tcg/misc/Makefile
Things changed:
- explicit about the BUILD_DIR and where we expect to be called
- use config-host.mak to get SRC_DIR
- use config-target.mak to get TARGET_NAME
- use CROSS_CC instead of CC
- disable test_path (these need re-writing in cross compile friendly non-glib)
- only pass -I into QEMU src tree when needed
---
tests/tcg/misc/Makefile | 53 ++++++++++++++++++++++++++++---------------------
1 file changed, 30 insertions(+), 23 deletions(-)
diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
index 39c316b..57235df 100644
--- a/tests/tcg/misc/Makefile
+++ b/tests/tcg/misc/Makefile
@@ -1,28 +1,33 @@
-BUILD_DIR=../../../build/
-SRC_PATH=../../../
-include $(BUILD_DIR)/config-host.mak
+# -*- Mode: makefile -*-
+#
+# Generic linux-user TCG tests
+#
+# These tests all use standard non-architecture specific APIs so can
+# be built for all TCG targets. The Make is expected to be called in
+# the ${BUILD_DIR}/$(TARGET_NAME_ARCH)-linux-user/tests directory
+#
+# To build for other architectures call make with CROSS_CC set
+#
+
+BUILD_DIR=../..
+include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH
+include ../config-target.mak # TARGET_NAME
include $(SRC_PATH)/rules.mak
$(call set-vpath, $(SRC_PATH)/tests/tcg/misc)
-QEMU=$(BUILD_DIR)/$(ARCH)-linux-user/qemu-$(ARCH)
+QEMU=$(BUILD_DIR)/$(TARGET_NAME)-linux-user/qemu-$(TARGET_NAME)
-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
+# Compiler set-up, default to system compiler if not set
+CROSS_CC?=$(CC)
-# runcom maps page 0, so it requires root privileges
-# also, pi_10.com runs indefinitely
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static
+LDFLAGS=
TESTS=linux-test \
testthread \
sha1 \
- test-mmap \
- test_path
- # runcom
+ test-mmap
all: $(patsubst %,run-%,$(TESTS))
test: all
@@ -47,25 +52,27 @@ 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`
+# These two need to be re-written as relying on glib (rather than just glibc)
+# test_path: test_path.o
+# $(CROSS_CC) $^ -o $@ -lglib-2.0
+
+# test_path.o: test_path.c
+# $(CROSS_CC) $^ -c -o $@ $(QEMU_INCLUDES) `pkg-config --cflags --libs glib-2.0`
testthread: testthread.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
+ $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
# generic Linux and CPU test
linux-test: linux-test.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm
+ $(CROSS_CC) $(CFLAGS) -I$(SRC_PATH)/include $(LDFLAGS) -o $@ $< -lm
test-mmap: test-mmap.c
- $(CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static
+ $(CROSS_CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static
# speed test
sha1: sha1.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
+ $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
speed: sha1
time ./sha1
--
2.9.3
--
Alex Bennée
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 4/4] tests/tcg: Add tests-tcg hook in Makefile
2016-08-29 22:49 [Qemu-devel] [PATCH v2 0/4] Clean up TCG tests Pranith Kumar
` (2 preceding siblings ...)
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests Pranith Kumar
@ 2016-08-29 22:49 ` Pranith Kumar
3 siblings, 0 replies; 8+ messages in thread
From: Pranith Kumar @ 2016-08-29 22:49 UTC (permalink / raw)
To: qemu-devel, Eric Blake, Markus Armbruster, Daniel P. Berrange,
Michael S. Tsirkin, Richard Henderson
Cc: alex.bennee
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
---
tests/Makefile.include | 1 +
tests/tcg/Makefile.include | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+)
create mode 100644 tests/tcg/Makefile.include
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 14be491..141281b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -776,3 +776,4 @@ all: $(QEMU_IOTESTS_HELPERS-y)
-include $(wildcard tests/*.d)
-include $(wildcard tests/libqos/*.d)
+-include $(SRC_PATH)/tests/tcg/Makefile.include
diff --git a/tests/tcg/Makefile.include b/tests/tcg/Makefile.include
new file mode 100644
index 0000000..563a097
--- /dev/null
+++ b/tests/tcg/Makefile.include
@@ -0,0 +1,20 @@
+UNAME_P := $(shell uname -p)
+
+tests-tcg: misc
+
+x86_64:
+ cd $(SRC_PATH)/tests/tcg/i386 && make
+i386:
+ cd $(SRC_PATH)/tests/tcg/i386 && make
+
+arm:
+ cd $(SRC_PATH)/tests/tcg/arm && make
+aarch64:
+ cd $(SRC_PATH)/tests/tcg/arm && make
+
+misc:
+ cd $(SRC_PATH)/tests/tcg/misc && make
+ make $(UNAME_P)
+
+.PHONY: tests-tcg
+
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread