* [Qemu-devel] [PATCH v2 01/16] tests/tcg: add softmmu awareness to Makefile
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 02/16] tests/tcg: enable tcg tests for softmmu Alex Bennée
` (15 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée,
Richard Henderson
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
tests/tcg/Makefile | 17 ++++++++++++++++-
tests/tcg/Makefile.include | 2 +-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index bf06415390..55feab0f67 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -26,7 +26,7 @@
#
# We also accept SPEED=slow to enable slower running tests
#
-# We also expect to be in the tests build dir for the FOO-linux-user.
+# We also expect to be in the tests build dir for the FOO-(linux-user|softmmu).
#
-include ../../config-host.mak
@@ -52,7 +52,11 @@ QEMU_CFLAGS=
LDFLAGS=
# The QEMU for this TARGET
+ifdef CONFIG_USER_ONLY
QEMU=../qemu-$(TARGET_NAME)
+else
+QEMU=../qemu-system-$(TARGET_NAME)
+endif
# If TCG debugging is enabled things are a lot slower
ifeq ($(CONFIG_DEBUG_TCG),y)
@@ -61,6 +65,7 @@ else
TIMEOUT=15
endif
+ifdef CONFIG_USER_ONLY
# The order we include is important. We include multiarch, base arch
# and finally arch if it's not the same as base arch.
-include $(SRC_PATH)/tests/tcg/multiarch/Makefile.target
@@ -77,6 +82,16 @@ endif
%: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
+else
+# For softmmu targets we include a different Makefile fragement as the
+# build options for bare programs are usually pretty different. They
+# are expected to provide their own build recipes.
+-include $(SRC_PATH)/tests/tcg/$(TARGET_BASE_ARCH)/Makefile.softmmu-target
+ifneq ($(TARGET_BASE_ARCH),$(TARGET_NAME))
+-include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-target
+endif
+
+endif
all: $(TESTS)
diff --git a/tests/tcg/Makefile.include b/tests/tcg/Makefile.include
index c581bd6ffc..73b5626fc5 100644
--- a/tests/tcg/Makefile.include
+++ b/tests/tcg/Makefile.include
@@ -67,7 +67,7 @@ endif
ifneq ($(GUEST_BUILD),)
guest-tests: $(GUEST_BUILD)
-run-guest-tests: guest-tests qemu-$(TARGET_NAME)
+run-guest-tests: guest-tests qemu-$(subst y,system-,$(CONFIG_SOFTMMU))$(TARGET_NAME)
$(call quiet-command, \
(cd tests && $(MAKE) -f $(TCG_MAKE) SPEED=$(SPEED) run), \
"RUN", "tests for $(TARGET_NAME)")
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 02/16] tests/tcg: enable tcg tests for softmmu
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 01/16] tests/tcg: add softmmu awareness to Makefile Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 03/16] tests/tcg: add QEMU_OPT option for test runner Alex Bennée
` (14 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée,
Richard Henderson
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
Makefile.target | 2 --
tests/Makefile.include | 7 +++----
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 3b79e7074c..61b8be31a2 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -37,9 +37,7 @@ PROGS=$(QEMU_PROG) $(QEMU_PROGW)
STPFILES=
# Makefile Tests
-ifdef CONFIG_USER_ONLY
include $(SRC_PATH)/tests/tcg/Makefile.include
-endif
config-target.h: config-target.h-timestamp
config-target.h-timestamp: config-target.mak
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 2187b0c5aa..f39b96e250 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -1030,10 +1030,9 @@ endif
# Per guest TCG tests
-LINUX_USER_TARGETS=$(filter %-linux-user,$(TARGET_DIRS))
-BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(LINUX_USER_TARGETS))
-CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(LINUX_USER_TARGETS))
-RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(LINUX_USER_TARGETS))
+BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TARGET_DIRS))
+CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TARGET_DIRS))
+RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TARGET_DIRS))
ifeq ($(HAVE_USER_DOCKER),y)
# Probe for the Docker Builds needed for each build
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 03/16] tests/tcg: add QEMU_OPT option for test runner
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 01/16] tests/tcg: add softmmu awareness to Makefile Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 02/16] tests/tcg: enable tcg tests for softmmu Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 04/16] tests/tcg: add gdb runner variant Alex Bennée
` (13 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée,
Richard Henderson
This will allow tests to modify the QEMU invocation with for example
different -cpu stazas without having to define a whole new set of
runner types.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
v2
- default QEMU_OPTS to --monitor none for system emulation
---
tests/tcg/Makefile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index 55feab0f67..097e6374ea 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -54,10 +54,13 @@ LDFLAGS=
# The QEMU for this TARGET
ifdef CONFIG_USER_ONLY
QEMU=../qemu-$(TARGET_NAME)
+QEMU_OPTS=
else
QEMU=../qemu-system-$(TARGET_NAME)
+QEMU_OPTS=--monitor none
endif
+
# If TCG debugging is enabled things are a lot slower
ifeq ($(CONFIG_DEBUG_TCG),y)
TIMEOUT=45
@@ -108,7 +111,7 @@ RUN_TESTS=$(patsubst %,run-%, $(TESTS))
RUN_TESTS+=$(EXTRA_RUNS)
run-%: %
- $(call run-test, $<, $(QEMU) $<, "$< on $(TARGET_NAME)")
+ $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)")
.PHONY: run
run: $(RUN_TESTS)
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 04/16] tests/tcg: add gdb runner variant
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (2 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 03/16] tests/tcg: add QEMU_OPT option for test runner Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation Alex Bennée
` (12 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
With this you can launch a test in gdb with:
cd $(BUILD)/tests
make -f $(SRC)/tests/tcg/Makefile gdb-$(TEST_NAME)
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index 097e6374ea..47f4298e68 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -113,6 +113,9 @@ RUN_TESTS+=$(EXTRA_RUNS)
run-%: %
$(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)")
+gdb-%: %
+ gdb --args $(QEMU) $(QEMU_OPTS) $<
+
.PHONY: run
run: $(RUN_TESTS)
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (3 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 04/16] tests/tcg: add gdb runner variant Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 22:42 ` Philippe Mathieu-Daudé
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 06/16] tests/docker: add debian-xtensa-cross image Alex Bennée
` (11 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
The compilation flags for proper building are in the source tree. We
also fix exit to 0 so the result is counted as a success.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/mips/Makefile.target | 11 ++++-------
tests/tcg/mips/hello-mips.c | 2 +-
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/tests/tcg/mips/Makefile.target b/tests/tcg/mips/Makefile.target
index 086625f533..1a994d5525 100644
--- a/tests/tcg/mips/Makefile.target
+++ b/tests/tcg/mips/Makefile.target
@@ -8,15 +8,12 @@ MIPS_SRC=$(SRC_PATH)/tests/tcg/mips
# Set search path for all sources
VPATH += $(MIPS_SRC)
+# hello-mips is 32 bit only
+ifeq ($(findstring 64,$(TARGET_NAME)),)
MIPS_TESTS=hello-mips
TESTS += $(MIPS_TESTS)
-hello-mips: CFLAGS+=-ffreestanding
+hello-mips: CFLAGS+=-mno-abicalls -fno-PIC -mabi=32
hello-mips: LDFLAGS+=-nostdlib
-
-# For MIPS32 and 64 we have a bunch of extra tests in sub-directories
-# however they are intended for system tests.
-
-run-hello-mips: hello-mips
- $(call skip-test, $<, "BROKEN")
+endif
diff --git a/tests/tcg/mips/hello-mips.c b/tests/tcg/mips/hello-mips.c
index c7052fdf2e..4e1cf501af 100644
--- a/tests/tcg/mips/hello-mips.c
+++ b/tests/tcg/mips/hello-mips.c
@@ -60,5 +60,5 @@ static inline int write(int fd, const char *buf, int len)
void __start(void)
{
write (1, "Hello, World!\n", 14);
- exit1 (42);
+ exit1(0);
}
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation Alex Bennée
@ 2019-02-28 22:42 ` Philippe Mathieu-Daudé
2019-03-01 9:31 ` Alex Bennée
0 siblings, 1 reply; 29+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-02-28 22:42 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: edgar.iglesias, qemu-arm, jcmvbkbc
Hi Alex,
On 2/28/19 9:25 PM, Alex Bennée wrote:
> The compilation flags for proper building are in the source tree. We
> also fix exit to 0 so the result is counted as a success.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/tcg/mips/Makefile.target | 11 ++++-------
> tests/tcg/mips/hello-mips.c | 2 +-
> 2 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/tests/tcg/mips/Makefile.target b/tests/tcg/mips/Makefile.target
> index 086625f533..1a994d5525 100644
> --- a/tests/tcg/mips/Makefile.target
> +++ b/tests/tcg/mips/Makefile.target
> @@ -8,15 +8,12 @@ MIPS_SRC=$(SRC_PATH)/tests/tcg/mips
> # Set search path for all sources
> VPATH += $(MIPS_SRC)
>
> +# hello-mips is 32 bit only
Correct.
> +ifeq ($(findstring 64,$(TARGET_NAME)),)
> MIPS_TESTS=hello-mips
>
> TESTS += $(MIPS_TESTS)
>
> -hello-mips: CFLAGS+=-ffreestanding
> +hello-mips: CFLAGS+=-mno-abicalls -fno-PIC -mabi=32
As suggested in the header.
> hello-mips: LDFLAGS+=-nostdlib
> -
> -# For MIPS32 and 64 we have a bunch of extra tests in sub-directories
> -# however they are intended for system tests.
> -
> -run-hello-mips: hello-mips
> - $(call skip-test, $<, "BROKEN")
> +endif
> diff --git a/tests/tcg/mips/hello-mips.c b/tests/tcg/mips/hello-mips.c
> index c7052fdf2e..4e1cf501af 100644
> --- a/tests/tcg/mips/hello-mips.c
> +++ b/tests/tcg/mips/hello-mips.c
> @@ -60,5 +60,5 @@ static inline int write(int fd, const char *buf, int len)
> void __start(void)
> {
> write (1, "Hello, World!\n", 14);
> - exit1 (42);
I understand 42 is to check SYS_exit1 worked, and this is not another
qemu-user exit. But we were previously never checked the exit code for
42. Neither are we checking 'Hello, World' on stdout.
> + exit1(0);
> }
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation
2019-02-28 22:42 ` Philippe Mathieu-Daudé
@ 2019-03-01 9:31 ` Alex Bennée
0 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-03-01 9:31 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, edgar.iglesias, qemu-arm, jcmvbkbc
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> Hi Alex,
>
> On 2/28/19 9:25 PM, Alex Bennée wrote:
>> The compilation flags for proper building are in the source tree. We
>> also fix exit to 0 so the result is counted as a success.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> tests/tcg/mips/Makefile.target | 11 ++++-------
>> tests/tcg/mips/hello-mips.c | 2 +-
>> 2 files changed, 5 insertions(+), 8 deletions(-)
>>
>> diff --git a/tests/tcg/mips/Makefile.target b/tests/tcg/mips/Makefile.target
>> index 086625f533..1a994d5525 100644
>> --- a/tests/tcg/mips/Makefile.target
>> +++ b/tests/tcg/mips/Makefile.target
>> @@ -8,15 +8,12 @@ MIPS_SRC=$(SRC_PATH)/tests/tcg/mips
>> # Set search path for all sources
>> VPATH += $(MIPS_SRC)
>>
>> +# hello-mips is 32 bit only
>
> Correct.
>
>> +ifeq ($(findstring 64,$(TARGET_NAME)),)
>> MIPS_TESTS=hello-mips
>>
>> TESTS += $(MIPS_TESTS)
>>
>> -hello-mips: CFLAGS+=-ffreestanding
>> +hello-mips: CFLAGS+=-mno-abicalls -fno-PIC -mabi=32
>
> As suggested in the header.
>
>> hello-mips: LDFLAGS+=-nostdlib
>> -
>> -# For MIPS32 and 64 we have a bunch of extra tests in sub-directories
>> -# however they are intended for system tests.
>> -
>> -run-hello-mips: hello-mips
>> - $(call skip-test, $<, "BROKEN")
>> +endif
>> diff --git a/tests/tcg/mips/hello-mips.c b/tests/tcg/mips/hello-mips.c
>> index c7052fdf2e..4e1cf501af 100644
>> --- a/tests/tcg/mips/hello-mips.c
>> +++ b/tests/tcg/mips/hello-mips.c
>> @@ -60,5 +60,5 @@ static inline int write(int fd, const char *buf, int len)
>> void __start(void)
>> {
>> write (1, "Hello, World!\n", 14);
>> - exit1 (42);
>
> I understand 42 is to check SYS_exit1 worked, and this is not another
> qemu-user exit. But we were previously never checked the exit code for
> 42. Neither are we checking 'Hello, World' on stdout.
Hmm we could do better but this is pretty much a smoke test anyway.
Either things are so broken it crashes out (which we should detect) or
we exit with a 0 indicating a pass to the calling make.
Once we have a more use cases for non-zero exits we can come up with
some plumbing for checking things.
>
>> + exit1(0);
>> }
>>
--
Alex Bennée
^ permalink raw reply [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 06/16] tests/docker: add debian-xtensa-cross image
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (4 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 05/16] tests/tcg/mips: fix hello-mips compilation Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests Alex Bennée
` (10 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Philippe Mathieu-Daudé,
Alex Bennée
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
Xtensa cpu supported:
- dc232b
- dc233c
- csp
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- the compiler only works for system tests (no libc)
---
.../dockerfiles/debian-xtensa-cross.docker | 31 +++++++++++++++++++
tests/tcg/xtensa/Makefile.include | 11 +++++++
2 files changed, 42 insertions(+)
create mode 100644 tests/docker/dockerfiles/debian-xtensa-cross.docker
create mode 100644 tests/tcg/xtensa/Makefile.include
diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
new file mode 100644
index 0000000000..afd2ab9163
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
@@ -0,0 +1,31 @@
+#
+# Docker cross-compiler target
+#
+# This docker target builds on the debian stretch base image,
+# using a prebuilt toolchains for Xtensa cores from:
+# https://github.com/foss-xtensa/toolchain/releases
+#
+FROM debian:stretch-slim
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata
+RUN DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt-get install -y --no-install-recommends \
+ bison \
+ build-essential \
+ ca-certificates \
+ curl \
+ flex \
+ gettext \
+ git \
+ python-minimal
+
+ENV CPU_LIST csp dc232b dc233c
+ENV TOOLCHAIN_RELEASE 2018.02
+
+RUN for cpu in $CPU_LIST; do \
+ curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \
+ | tar -xzC /opt; \
+ done
+
+ENV PATH $PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-csp-elf/bin
diff --git a/tests/tcg/xtensa/Makefile.include b/tests/tcg/xtensa/Makefile.include
new file mode 100644
index 0000000000..423c00a5d3
--- /dev/null
+++ b/tests/tcg/xtensa/Makefile.include
@@ -0,0 +1,11 @@
+# Makefile.include for xtensa targets
+#
+# The compilers can only be used for building system tests
+
+ifeq ($(CONFIG_SOFTMMU),y)
+DOCKER_IMAGE=debian-xtensa-cross
+
+# default to the dc232b cpu
+DOCKER_CROSS_COMPILER=/opt/2018.02/xtensa-dc232b-elf/bin/xtensa-dc232b-elf-gcc
+DOCKER_CROSS_LINKER=/opt/2018.02/xtensa-dc232b-elf/bin/xtensa-dc232b-elf-ld
+endif
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (5 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 06/16] tests/docker: add debian-xtensa-cross image Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 22:54 ` Philippe Mathieu-Daudé
2019-02-28 23:29 ` Max Filippov
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test Alex Bennée
` (9 subsequent siblings)
16 siblings, 2 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- use cross CC for linker
- fix up test selection to skip linker.ld.S
---
tests/tcg/xtensa/Makefile | 93 ------------------------
tests/tcg/xtensa/Makefile.softmmu-target | 40 ++++++++++
2 files changed, 40 insertions(+), 93 deletions(-)
delete mode 100644 tests/tcg/xtensa/Makefile
create mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile
deleted file mode 100644
index 2f5691f75b..0000000000
--- a/tests/tcg/xtensa/Makefile
+++ /dev/null
@@ -1,93 +0,0 @@
--include ../../../config-host.mak
-
-CORE=dc232b
-CROSS=xtensa-$(CORE)-elf-
-
-ifndef XT
-SIM = ../../../xtensa-softmmu/qemu-system-xtensa
-SIMFLAGS = -M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
-SIMDEBUG = -s -S
-else
-SIM = xt-run
-SIMFLAGS = --xtensa-core=DC_B_232L --exit_with_target_code $(EXTFLAGS)
-SIMDEBUG = --gdbserve=0
-endif
-
-HOST_CC = gcc
-CC = $(CROSS)gcc
-AS = $(CROSS)gcc -x assembler-with-cpp
-LD = $(CROSS)ld
-
-XTENSA_SRC_PATH = $(SRC_PATH)/tests/tcg/xtensa
-INCLUDE_DIRS = $(XTENSA_SRC_PATH) $(SRC_PATH)/target/xtensa/core-$(CORE)
-XTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
-
-LDFLAGS = -Tlinker.ld
-
-CRT = crt.o vectors.o
-
-TESTCASES += test_b.tst
-TESTCASES += test_bi.tst
-#TESTCASES += test_boolean.tst
-TESTCASES += test_break.tst
-TESTCASES += test_bz.tst
-TESTCASES += test_cache.tst
-TESTCASES += test_clamps.tst
-TESTCASES += test_extui.tst
-TESTCASES += test_fail.tst
-TESTCASES += test_interrupt.tst
-TESTCASES += test_loop.tst
-TESTCASES += test_mac16.tst
-TESTCASES += test_max.tst
-TESTCASES += test_min.tst
-TESTCASES += test_mmu.tst
-TESTCASES += test_mul16.tst
-TESTCASES += test_mul32.tst
-TESTCASES += test_nsa.tst
-TESTCASES += test_phys_mem.tst
-ifdef XT
-TESTCASES += test_pipeline.tst
-endif
-TESTCASES += test_quo.tst
-TESTCASES += test_rem.tst
-TESTCASES += test_rst0.tst
-TESTCASES += test_s32c1i.tst
-TESTCASES += test_sar.tst
-TESTCASES += test_sext.tst
-TESTCASES += test_shift.tst
-TESTCASES += test_sr.tst
-TESTCASES += test_timer.tst
-TESTCASES += test_windowed.tst
-
-all: build
-
-linker.ld: $(XTENSA_SRC_PATH)/linker.ld.S
- $(HOST_CC) $(XTENSA_INC) -E -P $< -o $@
-
-%.o: $(XTENSA_SRC_PATH)/%.c
- $(CC) $(XTENSA_INC) $(CFLAGS) -c $< -o $@
-
-%.o: $(XTENSA_SRC_PATH)/%.S
- $(CC) $(XTENSA_INC) $(ASFLAGS) -c $< -o $@
-
-%.tst: %.o linker.ld $(XTENSA_SRC_PATH)/macros.inc $(CRT) Makefile
- $(LD) $(LDFLAGS) $(NOSTDFLAGS) $(CRT) $< -o $@
-
-build: $(TESTCASES)
-
-check: $(addprefix run-, $(TESTCASES))
-
-run-%.tst: %.tst
- $(SIM) $(SIMFLAGS) ./$<
-
-run-test_fail.tst: test_fail.tst
- ! $(SIM) $(SIMFLAGS) ./$<
-
-debug-%.tst: %.tst
- $(SIM) $(SIMDEBUG) $(SIMFLAGS) ./$<
-
-host-debug-%.tst: %.tst
- gdb --args $(SIM) $(SIMFLAGS) ./$<
-
-clean:
- $(RM) -fr $(TESTCASES) $(CRT) linker.ld
diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
new file mode 100644
index 0000000000..1a4014506f
--- /dev/null
+++ b/tests/tcg/xtensa/Makefile.softmmu-target
@@ -0,0 +1,40 @@
+#
+# Xtensa softmmu tests
+#
+
+ifneq ($(TARGET_WORDS_BIGENDIAN),y)
+
+XTENSA_SRC = $(SRC_PATH)/tests/tcg/xtensa
+XTENSA_ALL = $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_SRC)/*.S))
+XTENSA_TESTS = $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL))
+# Filter out common blobs and broken tests
+XTENSA_BROKEN_TESTS = crt vectors test_boolean test_pipeline test_fail
+XTENSA_USABLE_TESTS = $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TESTS))
+
+# add to the list of tests
+TESTS += $(XTENSA_USABLE_TESTS)
+VPATH += $(XTENSA_SRC)
+
+CORE=dc232b
+QEMU_OPTS+=-M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
+
+INCLUDE_DIRS = $(SRC_PATH)/target/xtensa/core-$(CORE)
+XTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
+
+LDFLAGS = -Tlinker.ld -nostartfiles -nostdlib
+
+CRT = crt.o vectors.o
+
+linker.ld: linker.ld.S
+ $(CC) $(XTENSA_INC) -E -P $< -o $@
+
+$(XTENSA_USABLE_TESTS): linker.ld macros.inc $(CRT) Makefile.softmmu-target
+
+# special rule for common blobs
+%.o: %.S
+ $(CC) $(XTENSA_INC) $(ASFLAGS) -c $< -o $@
+
+%: %.S
+ $(CC) $(XTENSA_INC) $(ASFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT)
+
+endif
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests Alex Bennée
@ 2019-02-28 22:54 ` Philippe Mathieu-Daudé
2019-02-28 23:24 ` Max Filippov
2019-02-28 23:29 ` Max Filippov
1 sibling, 1 reply; 29+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-02-28 22:54 UTC (permalink / raw)
To: Alex Bennée, qemu-devel, jcmvbkbc; +Cc: edgar.iglesias, qemu-arm
On 2/28/19 9:25 PM, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v2
> - use cross CC for linker
> - fix up test selection to skip linker.ld.S
> ---
> tests/tcg/xtensa/Makefile | 93 ------------------------
> tests/tcg/xtensa/Makefile.softmmu-target | 40 ++++++++++
> 2 files changed, 40 insertions(+), 93 deletions(-)
> delete mode 100644 tests/tcg/xtensa/Makefile
> create mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
>
> diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile
> deleted file mode 100644
> index 2f5691f75b..0000000000
> --- a/tests/tcg/xtensa/Makefile
> +++ /dev/null
> @@ -1,93 +0,0 @@
> --include ../../../config-host.mak
> -
> -CORE=dc232b
> -CROSS=xtensa-$(CORE)-elf-
> -
> -ifndef XT
> -SIM = ../../../xtensa-softmmu/qemu-system-xtensa
> -SIMFLAGS = -M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
> -SIMDEBUG = -s -S
> -else
> -SIM = xt-run
> -SIMFLAGS = --xtensa-core=DC_B_232L --exit_with_target_code $(EXTFLAGS)
> -SIMDEBUG = --gdbserve=0
Max: I think it should be quite easy to port your simulator to Alex's
new Makefile.
One possibility is adding tests/tcg/xtensa/Makefile.xt-run which set few
variables, include Makefile.softmmu-target and overwrite variables if
necessary.
BTW is this simulator downloadable? I see the Zephyr project also uses
it, and I looked for it on https://ip.cadence.com/swdev but couldnt find
a (public) link.
> -endif
> -
> -HOST_CC = gcc
> -CC = $(CROSS)gcc
> -AS = $(CROSS)gcc -x assembler-with-cpp
> -LD = $(CROSS)ld
> -
> -XTENSA_SRC_PATH = $(SRC_PATH)/tests/tcg/xtensa
> -INCLUDE_DIRS = $(XTENSA_SRC_PATH) $(SRC_PATH)/target/xtensa/core-$(CORE)
> -XTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
> -
> -LDFLAGS = -Tlinker.ld
> -
> -CRT = crt.o vectors.o
> -
> -TESTCASES += test_b.tst
> -TESTCASES += test_bi.tst
> -#TESTCASES += test_boolean.tst
> -TESTCASES += test_break.tst
> -TESTCASES += test_bz.tst
> -TESTCASES += test_cache.tst
> -TESTCASES += test_clamps.tst
> -TESTCASES += test_extui.tst
> -TESTCASES += test_fail.tst
> -TESTCASES += test_interrupt.tst
> -TESTCASES += test_loop.tst
> -TESTCASES += test_mac16.tst
> -TESTCASES += test_max.tst
> -TESTCASES += test_min.tst
> -TESTCASES += test_mmu.tst
> -TESTCASES += test_mul16.tst
> -TESTCASES += test_mul32.tst
> -TESTCASES += test_nsa.tst
> -TESTCASES += test_phys_mem.tst
> -ifdef XT
> -TESTCASES += test_pipeline.tst
> -endif
> -TESTCASES += test_quo.tst
> -TESTCASES += test_rem.tst
> -TESTCASES += test_rst0.tst
> -TESTCASES += test_s32c1i.tst
> -TESTCASES += test_sar.tst
> -TESTCASES += test_sext.tst
> -TESTCASES += test_shift.tst
> -TESTCASES += test_sr.tst
> -TESTCASES += test_timer.tst
> -TESTCASES += test_windowed.tst
> -
> -all: build
> -
> -linker.ld: $(XTENSA_SRC_PATH)/linker.ld.S
> - $(HOST_CC) $(XTENSA_INC) -E -P $< -o $@
> -
> -%.o: $(XTENSA_SRC_PATH)/%.c
> - $(CC) $(XTENSA_INC) $(CFLAGS) -c $< -o $@
> -
> -%.o: $(XTENSA_SRC_PATH)/%.S
> - $(CC) $(XTENSA_INC) $(ASFLAGS) -c $< -o $@
> -
> -%.tst: %.o linker.ld $(XTENSA_SRC_PATH)/macros.inc $(CRT) Makefile
> - $(LD) $(LDFLAGS) $(NOSTDFLAGS) $(CRT) $< -o $@
> -
> -build: $(TESTCASES)
> -
> -check: $(addprefix run-, $(TESTCASES))
> -
> -run-%.tst: %.tst
> - $(SIM) $(SIMFLAGS) ./$<
> -
> -run-test_fail.tst: test_fail.tst
> - ! $(SIM) $(SIMFLAGS) ./$<
> -
> -debug-%.tst: %.tst
> - $(SIM) $(SIMDEBUG) $(SIMFLAGS) ./$<
> -
> -host-debug-%.tst: %.tst
> - gdb --args $(SIM) $(SIMFLAGS) ./$<
> -
> -clean:
> - $(RM) -fr $(TESTCASES) $(CRT) linker.ld
> diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
> new file mode 100644
> index 0000000000..1a4014506f
> --- /dev/null
> +++ b/tests/tcg/xtensa/Makefile.softmmu-target
> @@ -0,0 +1,40 @@
> +#
> +# Xtensa softmmu tests
> +#
> +
> +ifneq ($(TARGET_WORDS_BIGENDIAN),y)
> +
> +XTENSA_SRC = $(SRC_PATH)/tests/tcg/xtensa
> +XTENSA_ALL = $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_SRC)/*.S))
> +XTENSA_TESTS = $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL))
> +# Filter out common blobs and broken tests
> +XTENSA_BROKEN_TESTS = crt vectors test_boolean test_pipeline test_fail
> +XTENSA_USABLE_TESTS = $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TESTS))
> +
> +# add to the list of tests
> +TESTS += $(XTENSA_USABLE_TESTS)
> +VPATH += $(XTENSA_SRC)
> +
> +CORE=dc232b
> +QEMU_OPTS+=-M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
> +
> +INCLUDE_DIRS = $(SRC_PATH)/target/xtensa/core-$(CORE)
> +XTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
> +
> +LDFLAGS = -Tlinker.ld -nostartfiles -nostdlib
> +
> +CRT = crt.o vectors.o
> +
> +linker.ld: linker.ld.S
> + $(CC) $(XTENSA_INC) -E -P $< -o $@
> +
> +$(XTENSA_USABLE_TESTS): linker.ld macros.inc $(CRT) Makefile.softmmu-target
> +
> +# special rule for common blobs
> +%.o: %.S
> + $(CC) $(XTENSA_INC) $(ASFLAGS) -c $< -o $@
> +
> +%: %.S
> + $(CC) $(XTENSA_INC) $(ASFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT)
> +
> +endif
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests Alex Bennée
2019-02-28 22:54 ` Philippe Mathieu-Daudé
@ 2019-02-28 23:29 ` Max Filippov
2019-03-01 7:30 ` Alex Bennée
1 sibling, 1 reply; 29+ messages in thread
From: Max Filippov @ 2019-02-28 23:29 UTC (permalink / raw)
To: Alex Bennée; +Cc: qemu-devel, qemu-arm, Edgar E. Iglesias
Hi Alex,
On Thu, Feb 28, 2019 at 12:25 PM Alex Bennée <alex.bennee@linaro.org> wrote:
[...]
> diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
> new file mode 100644
> index 0000000000..1a4014506f
> --- /dev/null
> +++ b/tests/tcg/xtensa/Makefile.softmmu-target
> @@ -0,0 +1,40 @@
> +#
> +# Xtensa softmmu tests
> +#
> +
> +ifneq ($(TARGET_WORDS_BIGENDIAN),y)
I've recently posted a series that makes it possible to run
TCG tests on wider variety of xtensa cores, including
big-endian cores:
http://lists.nongnu.org/archive/html/qemu-devel/2019-02/msg04843.html
--
Thanks.
-- Max
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests
2019-02-28 23:29 ` Max Filippov
@ 2019-03-01 7:30 ` Alex Bennée
0 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-03-01 7:30 UTC (permalink / raw)
To: Max Filippov; +Cc: qemu-devel, qemu-arm, Edgar E. Iglesias
Max Filippov <jcmvbkbc@gmail.com> writes:
> Hi Alex,
>
> On Thu, Feb 28, 2019 at 12:25 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> [...]
>
>> diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
>> new file mode 100644
>> index 0000000000..1a4014506f
>> --- /dev/null
>> +++ b/tests/tcg/xtensa/Makefile.softmmu-target
>> @@ -0,0 +1,40 @@
>> +#
>> +# Xtensa softmmu tests
>> +#
>> +
>> +ifneq ($(TARGET_WORDS_BIGENDIAN),y)
>
> I've recently posted a series that makes it possible to run
> TCG tests on wider variety of xtensa cores, including
> big-endian cores:
> http://lists.nongnu.org/archive/html/qemu-devel/2019-02/msg04843.html
Ahh I missed that, will have a look.
--
Alex Bennée
^ permalink raw reply [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (6 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 07/16] tests/tcg/xtensa: enable system tests Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 22:56 ` Philippe Mathieu-Daudé
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 09/16] tests/docker: add fedora-cris-cross compilers Alex Bennée
` (8 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Stefan Hajnoczi,
Alex Bennée
From: Stefan Hajnoczi <stefanha@redhat.com>
Test that 32-bit instructions declared UNDEFINED in the ARMv6-M
Reference Manual really do raise an exception. Also test that the 6
32-bit instructions defined in the ARMv6-M Reference Manual do not raise
an exception.
Based-on: <20181029194519.15628-1-stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20181129185113.30353-1-stefanha@redhat.com>
[AJB: integrated into system tests]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- added to series
- used softmmu-target Makefile with single compile/link step
- launches with -kernel
- drop .hex file
---
tests/tcg/arm/Makefile.softmmu-target | 29 +++++
tests/tcg/arm/test-armv6m-undef.S | 154 ++++++++++++++++++++++++++
tests/tcg/arm/test-armv6m-undef.ld | 21 ++++
3 files changed, 204 insertions(+)
create mode 100644 tests/tcg/arm/Makefile.softmmu-target
create mode 100644 tests/tcg/arm/test-armv6m-undef.S
create mode 100644 tests/tcg/arm/test-armv6m-undef.ld
diff --git a/tests/tcg/arm/Makefile.softmmu-target b/tests/tcg/arm/Makefile.softmmu-target
new file mode 100644
index 0000000000..49d48d8a1c
--- /dev/null
+++ b/tests/tcg/arm/Makefile.softmmu-target
@@ -0,0 +1,29 @@
+# -*- Mode: makefile -*-
+#
+# ARM SoftMMU tests - included from tests/tcg/Makefile
+#
+
+ifeq ($(TARGET_ABI_DIR),arm)
+
+ARM_SRC=$(SRC_PATH)/tests/tcg/arm
+
+# Set search path for all sources
+VPATH += $(ARM_SRC)
+
+ARM_TESTS=test-armv6m-undef
+
+TESTS += $(ARM_TESTS)
+
+CFLAGS+=-Wl,--build-id=none -x assembler-with-cpp
+LDFLAGS+=-nostdlib -N -static
+
+%: %.S %.ld
+ $(CC) $(CFLAGS) $(ASFLAGS) $< -o $@ $(LDFLAGS) -T $(ARM_SRC)/$@.ld
+
+# Specific Test Rules
+
+test-armv6m-undef: EXTRA_CFLAGS+=-mcpu=cortex-m0
+
+run-test-armv6m-undef: QEMU_OPTS+=-semihosting -M microbit -kernel
+
+endif
diff --git a/tests/tcg/arm/test-armv6m-undef.S b/tests/tcg/arm/test-armv6m-undef.S
new file mode 100644
index 0000000000..d18ca56b4a
--- /dev/null
+++ b/tests/tcg/arm/test-armv6m-undef.S
@@ -0,0 +1,154 @@
+/*
+ * Test ARMv6-M UNDEFINED 32-bit instructions
+ *
+ * Copyright 2018 Red Hat Inc.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2
+ * or later. See the COPYING file in the top-level directory.
+ */
+
+/*
+ * Test that UNDEFINED 32-bit instructions fault as expected. This is an
+ * interesting test because ARMv6-M shares code with its more fully-featured
+ * siblings and it's necessary to verify that its limited instruction set is
+ * emulated correctly.
+ *
+ * The emulator must be invoked with -semihosting so that the test case can
+ * terminate with exit code 0 on success or 1 on failure.
+ *
+ * Failures can be debugged with -d in_asm,int,exec,cpu and the
+ * gdbstub (-S -s).
+ */
+
+.syntax unified
+.cpu cortex-m0
+.thumb
+
+/*
+ * Memory map
+ */
+#define SRAM_BASE 0x20000000
+#define SRAM_SIZE (16 * 1024)
+
+/*
+ * Semihosting interface on ARM T32
+ * See "Semihosting for AArch32 and AArch64 Version 2.0 Documentation" by ARM
+ */
+#define semihosting_call bkpt 0xab
+#define SYS_EXIT 0x18
+
+vector_table:
+ .word SRAM_BASE + SRAM_SIZE /* 0. SP_main */
+ .word exc_reset_thumb /* 1. Reset */
+ .word 0 /* 2. NMI */
+ .word exc_hard_fault_thumb /* 3. HardFault */
+ .rept 7
+ .word 0 /* 4-10. Reserved */
+ .endr
+ .word 0 /* 11. SVCall */
+ .word 0 /* 12. Reserved */
+ .word 0 /* 13. Reserved */
+ .word 0 /* 14. PendSV */
+ .word 0 /* 15. SysTick */
+ .rept 32
+ .word 0 /* 16-47. External Interrupts */
+ .endr
+
+exc_reset:
+.equ exc_reset_thumb, exc_reset + 1
+.global exc_reset_thumb
+ /* The following 32-bit UNDEFINED instructions are tested by executing
+ * them. The HardFault exception handler should execute and return to
+ * the next test case. If no exception is raised the test fails.
+ */
+
+ /* Table A5-9 32-bit Thumb encoding */
+ .short 0b1110100000000000
+ .short 0b0000000000000000
+ b not_reached
+ .short 0b1110100000000000
+ .short 0b1000000000000000
+ b not_reached
+ .short 0b1111100000000000
+ .short 0b0000000000000000
+ b not_reached
+ .short 0b1111100000000000
+ .short 0b1000000000000000
+ b not_reached
+ .short 0b1111000000000000
+ .short 0b0000000000000000
+ b not_reached
+
+ /* Table A5-10 Branch and miscellaneous control instructions */
+ .short 0b1111011111110000
+ .short 0b1010000000000000
+ b not_reached
+
+ /* The following are valid 32-bit instructions that must not raise a
+ * HardFault.
+ */
+
+ /* B4.2.3 Move to Special Register (moves to IPSR are ignored) */
+ msr ipsr, r0
+ b 1f
+ b not_reached
+1:
+ /* B4.2.2 Move from Special Register */
+ mrs r0, ipsr
+ b 1f
+ b not_reached
+1:
+ /* A6.7.13 Branch with Link (immediate) */
+ bl 1f
+1:
+ b 1f
+ b not_reached
+1:
+ /* A6.7.21 Data Memory Barrier */
+ dmb
+ b 1f
+ b not_reached
+1:
+ /* A6.7.22 Data Synchronization Barrier */
+ dsb
+ b 1f
+ b not_reached
+1:
+ /* A6.7.24 Instruction Memory Barrier */
+ isb
+ b 1f
+ b not_reached
+1:
+
+ /* Success! */
+ movs r0, 1
+ b exit
+
+not_reached: /* Failure :( */
+ movs r0, 0
+ b exit
+
+/* When a HardFault occurs, return to pc+6 (test cases are 3 halfwords long) */
+exc_hard_fault:
+.equ exc_hard_fault_thumb, exc_hard_fault + 1
+.global exc_hard_fault_thumb
+ ldr r0, [sp, 0x18]
+ adds r0, 6
+ str r0, [sp, 0x18]
+ bx lr
+
+/*
+ * exit: Terminate emulator
+ * @r0: 0 - failure, 1 - success
+ */
+exit:
+ movs r1, 0
+ cmp r0, 1
+ bne 1f
+ ldr r1, ADP_Stopped_ApplicationExit
+1:
+ movs r0, SYS_EXIT
+ semihosting_call
+.align 2
+ADP_Stopped_ApplicationExit:
+ .word 0x20026
diff --git a/tests/tcg/arm/test-armv6m-undef.ld b/tests/tcg/arm/test-armv6m-undef.ld
new file mode 100644
index 0000000000..43dbbf17d5
--- /dev/null
+++ b/tests/tcg/arm/test-armv6m-undef.ld
@@ -0,0 +1,21 @@
+ENTRY(exc_reset_thumb)
+
+SECTIONS
+{
+ . = 0x0;
+ .text : {
+ *(.text)
+ }
+ .data : {
+ *(.data)
+ }
+ .rodata : {
+ *(.rodata)
+ }
+ .bss : {
+ *(.bss)
+ }
+ /DISCARD/ : {
+ *(.ARM.attributes)
+ }
+}
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test Alex Bennée
@ 2019-02-28 22:56 ` Philippe Mathieu-Daudé
2019-03-01 7:32 ` Alex Bennée
0 siblings, 1 reply; 29+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-02-28 22:56 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: edgar.iglesias, qemu-arm, Stefan Hajnoczi, jcmvbkbc
On 2/28/19 9:25 PM, Alex Bennée wrote:
> From: Stefan Hajnoczi <stefanha@redhat.com>
>
> Test that 32-bit instructions declared UNDEFINED in the ARMv6-M
> Reference Manual really do raise an exception. Also test that the 6
> 32-bit instructions defined in the ARMv6-M Reference Manual do not raise
> an exception.
>
> Based-on: <20181029194519.15628-1-stefanha@redhat.com>
^ cut 'Based-on' from git history?
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> Message-Id: <20181129185113.30353-1-stefanha@redhat.com>
> [AJB: integrated into system tests]
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v2
> - added to series
> - used softmmu-target Makefile with single compile/link step
> - launches with -kernel
> - drop .hex file
> ---
> tests/tcg/arm/Makefile.softmmu-target | 29 +++++
> tests/tcg/arm/test-armv6m-undef.S | 154 ++++++++++++++++++++++++++
> tests/tcg/arm/test-armv6m-undef.ld | 21 ++++
> 3 files changed, 204 insertions(+)
> create mode 100644 tests/tcg/arm/Makefile.softmmu-target
> create mode 100644 tests/tcg/arm/test-armv6m-undef.S
> create mode 100644 tests/tcg/arm/test-armv6m-undef.ld
>
> diff --git a/tests/tcg/arm/Makefile.softmmu-target b/tests/tcg/arm/Makefile.softmmu-target
> new file mode 100644
> index 0000000000..49d48d8a1c
> --- /dev/null
> +++ b/tests/tcg/arm/Makefile.softmmu-target
> @@ -0,0 +1,29 @@
> +# -*- Mode: makefile -*-
> +#
> +# ARM SoftMMU tests - included from tests/tcg/Makefile
> +#
> +
> +ifeq ($(TARGET_ABI_DIR),arm)
> +
> +ARM_SRC=$(SRC_PATH)/tests/tcg/arm
> +
> +# Set search path for all sources
> +VPATH += $(ARM_SRC)
> +
> +ARM_TESTS=test-armv6m-undef
> +
> +TESTS += $(ARM_TESTS)
> +
> +CFLAGS+=-Wl,--build-id=none -x assembler-with-cpp
> +LDFLAGS+=-nostdlib -N -static
> +
> +%: %.S %.ld
> + $(CC) $(CFLAGS) $(ASFLAGS) $< -o $@ $(LDFLAGS) -T $(ARM_SRC)/$@.ld
> +
> +# Specific Test Rules
> +
> +test-armv6m-undef: EXTRA_CFLAGS+=-mcpu=cortex-m0
> +
> +run-test-armv6m-undef: QEMU_OPTS+=-semihosting -M microbit -kernel
> +
> +endif
> diff --git a/tests/tcg/arm/test-armv6m-undef.S b/tests/tcg/arm/test-armv6m-undef.S
> new file mode 100644
> index 0000000000..d18ca56b4a
> --- /dev/null
> +++ b/tests/tcg/arm/test-armv6m-undef.S
> @@ -0,0 +1,154 @@
> +/*
> + * Test ARMv6-M UNDEFINED 32-bit instructions
> + *
> + * Copyright 2018 Red Hat Inc.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2
> + * or later. See the COPYING file in the top-level directory.
> + */
> +
> +/*
> + * Test that UNDEFINED 32-bit instructions fault as expected. This is an
> + * interesting test because ARMv6-M shares code with its more fully-featured
> + * siblings and it's necessary to verify that its limited instruction set is
> + * emulated correctly.
> + *
> + * The emulator must be invoked with -semihosting so that the test case can
> + * terminate with exit code 0 on success or 1 on failure.
> + *
> + * Failures can be debugged with -d in_asm,int,exec,cpu and the
> + * gdbstub (-S -s).
> + */
> +
> +.syntax unified
> +.cpu cortex-m0
> +.thumb
> +
> +/*
> + * Memory map
> + */
> +#define SRAM_BASE 0x20000000
> +#define SRAM_SIZE (16 * 1024)
> +
> +/*
> + * Semihosting interface on ARM T32
> + * See "Semihosting for AArch32 and AArch64 Version 2.0 Documentation" by ARM
> + */
> +#define semihosting_call bkpt 0xab
> +#define SYS_EXIT 0x18
> +
> +vector_table:
> + .word SRAM_BASE + SRAM_SIZE /* 0. SP_main */
> + .word exc_reset_thumb /* 1. Reset */
> + .word 0 /* 2. NMI */
> + .word exc_hard_fault_thumb /* 3. HardFault */
> + .rept 7
> + .word 0 /* 4-10. Reserved */
> + .endr
> + .word 0 /* 11. SVCall */
> + .word 0 /* 12. Reserved */
> + .word 0 /* 13. Reserved */
> + .word 0 /* 14. PendSV */
> + .word 0 /* 15. SysTick */
> + .rept 32
> + .word 0 /* 16-47. External Interrupts */
> + .endr
> +
> +exc_reset:
> +.equ exc_reset_thumb, exc_reset + 1
> +.global exc_reset_thumb
> + /* The following 32-bit UNDEFINED instructions are tested by executing
> + * them. The HardFault exception handler should execute and return to
> + * the next test case. If no exception is raised the test fails.
> + */
> +
> + /* Table A5-9 32-bit Thumb encoding */
> + .short 0b1110100000000000
> + .short 0b0000000000000000
> + b not_reached
> + .short 0b1110100000000000
> + .short 0b1000000000000000
> + b not_reached
> + .short 0b1111100000000000
> + .short 0b0000000000000000
> + b not_reached
> + .short 0b1111100000000000
> + .short 0b1000000000000000
> + b not_reached
> + .short 0b1111000000000000
> + .short 0b0000000000000000
> + b not_reached
> +
> + /* Table A5-10 Branch and miscellaneous control instructions */
> + .short 0b1111011111110000
> + .short 0b1010000000000000
> + b not_reached
> +
> + /* The following are valid 32-bit instructions that must not raise a
> + * HardFault.
> + */
> +
> + /* B4.2.3 Move to Special Register (moves to IPSR are ignored) */
> + msr ipsr, r0
> + b 1f
> + b not_reached
> +1:
> + /* B4.2.2 Move from Special Register */
> + mrs r0, ipsr
> + b 1f
> + b not_reached
> +1:
> + /* A6.7.13 Branch with Link (immediate) */
> + bl 1f
> +1:
> + b 1f
> + b not_reached
> +1:
> + /* A6.7.21 Data Memory Barrier */
> + dmb
> + b 1f
> + b not_reached
> +1:
> + /* A6.7.22 Data Synchronization Barrier */
> + dsb
> + b 1f
> + b not_reached
> +1:
> + /* A6.7.24 Instruction Memory Barrier */
> + isb
> + b 1f
> + b not_reached
> +1:
> +
> + /* Success! */
> + movs r0, 1
> + b exit
> +
> +not_reached: /* Failure :( */
> + movs r0, 0
> + b exit
> +
> +/* When a HardFault occurs, return to pc+6 (test cases are 3 halfwords long) */
> +exc_hard_fault:
> +.equ exc_hard_fault_thumb, exc_hard_fault + 1
> +.global exc_hard_fault_thumb
> + ldr r0, [sp, 0x18]
> + adds r0, 6
> + str r0, [sp, 0x18]
> + bx lr
> +
> +/*
> + * exit: Terminate emulator
> + * @r0: 0 - failure, 1 - success
> + */
> +exit:
> + movs r1, 0
> + cmp r0, 1
> + bne 1f
> + ldr r1, ADP_Stopped_ApplicationExit
> +1:
> + movs r0, SYS_EXIT
> + semihosting_call
> +.align 2
> +ADP_Stopped_ApplicationExit:
> + .word 0x20026
> diff --git a/tests/tcg/arm/test-armv6m-undef.ld b/tests/tcg/arm/test-armv6m-undef.ld
> new file mode 100644
> index 0000000000..43dbbf17d5
> --- /dev/null
> +++ b/tests/tcg/arm/test-armv6m-undef.ld
> @@ -0,0 +1,21 @@
> +ENTRY(exc_reset_thumb)
> +
> +SECTIONS
> +{
> + . = 0x0;
> + .text : {
> + *(.text)
> + }
> + .data : {
> + *(.data)
> + }
> + .rodata : {
> + *(.rodata)
> + }
> + .bss : {
> + *(.bss)
> + }
> + /DISCARD/ : {
> + *(.ARM.attributes)
> + }
> +}
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test
2019-02-28 22:56 ` Philippe Mathieu-Daudé
@ 2019-03-01 7:32 ` Alex Bennée
0 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-03-01 7:32 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, edgar.iglesias, qemu-arm, Stefan Hajnoczi, jcmvbkbc
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> On 2/28/19 9:25 PM, Alex Bennée wrote:
>> From: Stefan Hajnoczi <stefanha@redhat.com>
>>
>> Test that 32-bit instructions declared UNDEFINED in the ARMv6-M
>> Reference Manual really do raise an exception. Also test that the 6
>> 32-bit instructions defined in the ARMv6-M Reference Manual do not raise
>> an exception.
>>
>> Based-on: <20181029194519.15628-1-stefanha@redhat.com>
>
> ^ cut 'Based-on' from git history?
Yeah - we really only need the Message ID.
>
>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>> Message-Id: <20181129185113.30353-1-stefanha@redhat.com>
>> [AJB: integrated into system tests]
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>
>> ---
>> v2
>> - added to series
>> - used softmmu-target Makefile with single compile/link step
>> - launches with -kernel
>> - drop .hex file
>> ---
>> tests/tcg/arm/Makefile.softmmu-target | 29 +++++
>> tests/tcg/arm/test-armv6m-undef.S | 154 ++++++++++++++++++++++++++
>> tests/tcg/arm/test-armv6m-undef.ld | 21 ++++
>> 3 files changed, 204 insertions(+)
>> create mode 100644 tests/tcg/arm/Makefile.softmmu-target
>> create mode 100644 tests/tcg/arm/test-armv6m-undef.S
>> create mode 100644 tests/tcg/arm/test-armv6m-undef.ld
>>
>> diff --git a/tests/tcg/arm/Makefile.softmmu-target b/tests/tcg/arm/Makefile.softmmu-target
>> new file mode 100644
>> index 0000000000..49d48d8a1c
>> --- /dev/null
>> +++ b/tests/tcg/arm/Makefile.softmmu-target
>> @@ -0,0 +1,29 @@
>> +# -*- Mode: makefile -*-
>> +#
>> +# ARM SoftMMU tests - included from tests/tcg/Makefile
>> +#
>> +
>> +ifeq ($(TARGET_ABI_DIR),arm)
>> +
>> +ARM_SRC=$(SRC_PATH)/tests/tcg/arm
>> +
>> +# Set search path for all sources
>> +VPATH += $(ARM_SRC)
>> +
>> +ARM_TESTS=test-armv6m-undef
>> +
>> +TESTS += $(ARM_TESTS)
>> +
>> +CFLAGS+=-Wl,--build-id=none -x assembler-with-cpp
>> +LDFLAGS+=-nostdlib -N -static
>> +
>> +%: %.S %.ld
>> + $(CC) $(CFLAGS) $(ASFLAGS) $< -o $@ $(LDFLAGS) -T $(ARM_SRC)/$@.ld
>> +
>> +# Specific Test Rules
>> +
>> +test-armv6m-undef: EXTRA_CFLAGS+=-mcpu=cortex-m0
>> +
>> +run-test-armv6m-undef: QEMU_OPTS+=-semihosting -M microbit -kernel
>> +
>> +endif
>> diff --git a/tests/tcg/arm/test-armv6m-undef.S b/tests/tcg/arm/test-armv6m-undef.S
>> new file mode 100644
>> index 0000000000..d18ca56b4a
>> --- /dev/null
>> +++ b/tests/tcg/arm/test-armv6m-undef.S
>> @@ -0,0 +1,154 @@
>> +/*
>> + * Test ARMv6-M UNDEFINED 32-bit instructions
>> + *
>> + * Copyright 2018 Red Hat Inc.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2
>> + * or later. See the COPYING file in the top-level directory.
>> + */
>> +
>> +/*
>> + * Test that UNDEFINED 32-bit instructions fault as expected. This is an
>> + * interesting test because ARMv6-M shares code with its more fully-featured
>> + * siblings and it's necessary to verify that its limited instruction set is
>> + * emulated correctly.
>> + *
>> + * The emulator must be invoked with -semihosting so that the test case can
>> + * terminate with exit code 0 on success or 1 on failure.
>> + *
>> + * Failures can be debugged with -d in_asm,int,exec,cpu and the
>> + * gdbstub (-S -s).
>> + */
>> +
>> +.syntax unified
>> +.cpu cortex-m0
>> +.thumb
>> +
>> +/*
>> + * Memory map
>> + */
>> +#define SRAM_BASE 0x20000000
>> +#define SRAM_SIZE (16 * 1024)
>> +
>> +/*
>> + * Semihosting interface on ARM T32
>> + * See "Semihosting for AArch32 and AArch64 Version 2.0 Documentation" by ARM
>> + */
>> +#define semihosting_call bkpt 0xab
>> +#define SYS_EXIT 0x18
>> +
>> +vector_table:
>> + .word SRAM_BASE + SRAM_SIZE /* 0. SP_main */
>> + .word exc_reset_thumb /* 1. Reset */
>> + .word 0 /* 2. NMI */
>> + .word exc_hard_fault_thumb /* 3. HardFault */
>> + .rept 7
>> + .word 0 /* 4-10. Reserved */
>> + .endr
>> + .word 0 /* 11. SVCall */
>> + .word 0 /* 12. Reserved */
>> + .word 0 /* 13. Reserved */
>> + .word 0 /* 14. PendSV */
>> + .word 0 /* 15. SysTick */
>> + .rept 32
>> + .word 0 /* 16-47. External Interrupts */
>> + .endr
>> +
>> +exc_reset:
>> +.equ exc_reset_thumb, exc_reset + 1
>> +.global exc_reset_thumb
>> + /* The following 32-bit UNDEFINED instructions are tested by executing
>> + * them. The HardFault exception handler should execute and return to
>> + * the next test case. If no exception is raised the test fails.
>> + */
>> +
>> + /* Table A5-9 32-bit Thumb encoding */
>> + .short 0b1110100000000000
>> + .short 0b0000000000000000
>> + b not_reached
>> + .short 0b1110100000000000
>> + .short 0b1000000000000000
>> + b not_reached
>> + .short 0b1111100000000000
>> + .short 0b0000000000000000
>> + b not_reached
>> + .short 0b1111100000000000
>> + .short 0b1000000000000000
>> + b not_reached
>> + .short 0b1111000000000000
>> + .short 0b0000000000000000
>> + b not_reached
>> +
>> + /* Table A5-10 Branch and miscellaneous control instructions */
>> + .short 0b1111011111110000
>> + .short 0b1010000000000000
>> + b not_reached
>> +
>> + /* The following are valid 32-bit instructions that must not raise a
>> + * HardFault.
>> + */
>> +
>> + /* B4.2.3 Move to Special Register (moves to IPSR are ignored) */
>> + msr ipsr, r0
>> + b 1f
>> + b not_reached
>> +1:
>> + /* B4.2.2 Move from Special Register */
>> + mrs r0, ipsr
>> + b 1f
>> + b not_reached
>> +1:
>> + /* A6.7.13 Branch with Link (immediate) */
>> + bl 1f
>> +1:
>> + b 1f
>> + b not_reached
>> +1:
>> + /* A6.7.21 Data Memory Barrier */
>> + dmb
>> + b 1f
>> + b not_reached
>> +1:
>> + /* A6.7.22 Data Synchronization Barrier */
>> + dsb
>> + b 1f
>> + b not_reached
>> +1:
>> + /* A6.7.24 Instruction Memory Barrier */
>> + isb
>> + b 1f
>> + b not_reached
>> +1:
>> +
>> + /* Success! */
>> + movs r0, 1
>> + b exit
>> +
>> +not_reached: /* Failure :( */
>> + movs r0, 0
>> + b exit
>> +
>> +/* When a HardFault occurs, return to pc+6 (test cases are 3 halfwords long) */
>> +exc_hard_fault:
>> +.equ exc_hard_fault_thumb, exc_hard_fault + 1
>> +.global exc_hard_fault_thumb
>> + ldr r0, [sp, 0x18]
>> + adds r0, 6
>> + str r0, [sp, 0x18]
>> + bx lr
>> +
>> +/*
>> + * exit: Terminate emulator
>> + * @r0: 0 - failure, 1 - success
>> + */
>> +exit:
>> + movs r1, 0
>> + cmp r0, 1
>> + bne 1f
>> + ldr r1, ADP_Stopped_ApplicationExit
>> +1:
>> + movs r0, SYS_EXIT
>> + semihosting_call
>> +.align 2
>> +ADP_Stopped_ApplicationExit:
>> + .word 0x20026
>> diff --git a/tests/tcg/arm/test-armv6m-undef.ld b/tests/tcg/arm/test-armv6m-undef.ld
>> new file mode 100644
>> index 0000000000..43dbbf17d5
>> --- /dev/null
>> +++ b/tests/tcg/arm/test-armv6m-undef.ld
>> @@ -0,0 +1,21 @@
>> +ENTRY(exc_reset_thumb)
>> +
>> +SECTIONS
>> +{
>> + . = 0x0;
>> + .text : {
>> + *(.text)
>> + }
>> + .data : {
>> + *(.data)
>> + }
>> + .rodata : {
>> + *(.rodata)
>> + }
>> + .bss : {
>> + *(.bss)
>> + }
>> + /DISCARD/ : {
>> + *(.ARM.attributes)
>> + }
>> +}
>>
--
Alex Bennée
^ permalink raw reply [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 09/16] tests/docker: add fedora-cris-cross compilers
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (7 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 08/16] tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories Alex Bennée
` (7 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/docker/dockerfiles/fedora-cris-cross.docker | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 tests/docker/dockerfiles/fedora-cris-cross.docker
diff --git a/tests/docker/dockerfiles/fedora-cris-cross.docker b/tests/docker/dockerfiles/fedora-cris-cross.docker
new file mode 100644
index 0000000000..b168ada615
--- /dev/null
+++ b/tests/docker/dockerfiles/fedora-cris-cross.docker
@@ -0,0 +1,8 @@
+#
+# Cross compiler for cris system tests
+#
+
+FROM fedora:latest
+ENV PACKAGES gcc-cris-linux-gnu
+RUN dnf install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (8 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 09/16] tests/docker: add fedora-cris-cross compilers Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 23:07 ` Philippe Mathieu-Daudé
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 11/16] tests/tcg/cris: cleanup sys.c Alex Bennée
` (6 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
Bare tests are standalone assembly tests that don't require linking to
any libc and hence can be built with kernel only compilers. The libc
tests need a compiler capable of building properly linked userspace
binaries. As we don't have such a cross compiler at the moment we
won't be building those tests.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- split between bare/libc instead of system/user
---
tests/tcg/cris/{ => bare}/check_addcv17.s | 0
tests/tcg/cris/{ => bare}/check_addi.s | 0
tests/tcg/cris/{ => bare}/check_addiv32.s | 0
tests/tcg/cris/{ => bare}/check_addm.s | 0
tests/tcg/cris/{ => bare}/check_addq.s | 0
tests/tcg/cris/{ => bare}/check_addr.s | 0
tests/tcg/cris/{ => bare}/check_addxc.s | 0
tests/tcg/cris/{ => bare}/check_addxm.s | 0
tests/tcg/cris/{ => bare}/check_addxr.s | 0
tests/tcg/cris/{ => bare}/check_andc.s | 0
tests/tcg/cris/{ => bare}/check_andm.s | 0
tests/tcg/cris/{ => bare}/check_andq.s | 0
tests/tcg/cris/{ => bare}/check_andr.s | 0
tests/tcg/cris/{ => bare}/check_asr.s | 0
tests/tcg/cris/{ => bare}/check_ba.s | 0
tests/tcg/cris/{ => bare}/check_bas.s | 0
tests/tcg/cris/{ => bare}/check_bcc.s | 0
tests/tcg/cris/{ => bare}/check_boundc.s | 0
tests/tcg/cris/{ => bare}/check_boundr.s | 0
tests/tcg/cris/{ => bare}/check_btst.s | 0
tests/tcg/cris/{ => bare}/check_clearfv32.s | 0
tests/tcg/cris/{ => bare}/check_clrjmp1.s | 0
tests/tcg/cris/{ => bare}/check_cmp-2.s | 0
tests/tcg/cris/{ => bare}/check_cmpc.s | 0
tests/tcg/cris/{ => bare}/check_cmpm.s | 0
tests/tcg/cris/{ => bare}/check_cmpq.s | 0
tests/tcg/cris/{ => bare}/check_cmpr.s | 0
tests/tcg/cris/{ => bare}/check_cmpxc.s | 0
tests/tcg/cris/{ => bare}/check_cmpxm.s | 0
tests/tcg/cris/{ => bare}/check_dstep.s | 0
tests/tcg/cris/{ => bare}/check_jsr.s | 0
tests/tcg/cris/{ => bare}/check_lapc.s | 0
tests/tcg/cris/{ => bare}/check_lsl.s | 0
tests/tcg/cris/{ => bare}/check_lsr.s | 0
tests/tcg/cris/{ => bare}/check_mcp.s | 0
tests/tcg/cris/{ => bare}/check_movdelsr1.s | 0
tests/tcg/cris/{ => bare}/check_movecr.s | 0
tests/tcg/cris/{ => bare}/check_movei.s | 0
tests/tcg/cris/{ => bare}/check_movemr.s | 0
tests/tcg/cris/{ => bare}/check_movemrv32.s | 0
tests/tcg/cris/{ => bare}/check_mover.s | 0
tests/tcg/cris/{ => bare}/check_moverm.s | 0
tests/tcg/cris/{ => bare}/check_movmp.s | 0
tests/tcg/cris/{ => bare}/check_movpmv32.s | 0
tests/tcg/cris/{ => bare}/check_movpr.s | 0
tests/tcg/cris/{ => bare}/check_movprv32.s | 0
tests/tcg/cris/{ => bare}/check_movscr.s | 0
tests/tcg/cris/{ => bare}/check_movsm.s | 0
tests/tcg/cris/{ => bare}/check_movsr.s | 0
tests/tcg/cris/{ => bare}/check_movucr.s | 0
tests/tcg/cris/{ => bare}/check_movum.s | 0
tests/tcg/cris/{ => bare}/check_movur.s | 0
tests/tcg/cris/{ => bare}/check_mulv32.s | 0
tests/tcg/cris/{ => bare}/check_mulx.s | 0
tests/tcg/cris/{ => bare}/check_neg.s | 0
tests/tcg/cris/{ => bare}/check_not.s | 0
tests/tcg/cris/{ => bare}/check_orc.s | 0
tests/tcg/cris/{ => bare}/check_orm.s | 0
tests/tcg/cris/{ => bare}/check_orq.s | 0
tests/tcg/cris/{ => bare}/check_orr.s | 0
tests/tcg/cris/{ => bare}/check_ret.s | 0
tests/tcg/cris/{ => bare}/check_scc.s | 0
tests/tcg/cris/{ => bare}/check_subc.s | 0
tests/tcg/cris/{ => bare}/check_subm.s | 0
tests/tcg/cris/{ => bare}/check_subq.s | 0
tests/tcg/cris/{ => bare}/check_subr.s | 0
tests/tcg/cris/{ => bare}/check_xarith.s | 0
tests/tcg/cris/{ => bare}/crt.s | 0
tests/tcg/cris/{ => bare}/sys.c | 0
tests/tcg/cris/{ => bare}/testutils.inc | 0
tests/tcg/cris/{ => libc}/check_abs.c | 0
tests/tcg/cris/{ => libc}/check_addc.c | 0
tests/tcg/cris/{ => libc}/check_addcm.c | 0
tests/tcg/cris/{ => libc}/check_addo.c | 0
tests/tcg/cris/{ => libc}/check_addoq.c | 0
tests/tcg/cris/{ => libc}/check_bound.c | 0
tests/tcg/cris/{ => libc}/check_ftag.c | 0
.../{ => libc}/check_gcctorture_pr28634-1.c | 0
.../{ => libc}/check_gcctorture_pr28634.c | 0
.../{ => libc}/check_glibc_kernelversion.c | 0
tests/tcg/cris/{ => libc}/check_hello.c | 0
tests/tcg/cris/{ => libc}/check_int64.c | 0
tests/tcg/cris/{ => libc}/check_lz.c | 0
tests/tcg/cris/{ => libc}/check_mapbrk.c | 0
tests/tcg/cris/{ => libc}/check_mmap1.c | 0
tests/tcg/cris/{ => libc}/check_mmap2.c | 0
tests/tcg/cris/{ => libc}/check_mmap3.c | 0
tests/tcg/cris/{ => libc}/check_moveq.c | 0
tests/tcg/cris/{ => libc}/check_openpf1.c | 0
tests/tcg/cris/{ => libc}/check_openpf2.c | 0
tests/tcg/cris/{ => libc}/check_openpf3.c | 0
tests/tcg/cris/{ => libc}/check_openpf5.c | 0
tests/tcg/cris/{ => libc}/check_settls1.c | 0
tests/tcg/cris/{ => libc}/check_sigalrm.c | 0
tests/tcg/cris/{ => libc}/check_stat1.c | 0
tests/tcg/cris/{ => libc}/check_stat2.c | 0
tests/tcg/cris/{ => libc}/check_stat3.c | 0
tests/tcg/cris/{ => libc}/check_stat4.c | 0
tests/tcg/cris/{ => libc}/check_swap.c | 0
tests/tcg/cris/{ => libc}/check_time2.c | 0
tests/tcg/cris/{ => libc}/crisutils.h | 0
tests/tcg/cris/libc/sys.c | 58 +++++++++++++++++++
tests/tcg/cris/{ => libc}/sys.h | 0
103 files changed, 58 insertions(+)
rename tests/tcg/cris/{ => bare}/check_addcv17.s (100%)
rename tests/tcg/cris/{ => bare}/check_addi.s (100%)
rename tests/tcg/cris/{ => bare}/check_addiv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_addm.s (100%)
rename tests/tcg/cris/{ => bare}/check_addq.s (100%)
rename tests/tcg/cris/{ => bare}/check_addr.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxc.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxm.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxr.s (100%)
rename tests/tcg/cris/{ => bare}/check_andc.s (100%)
rename tests/tcg/cris/{ => bare}/check_andm.s (100%)
rename tests/tcg/cris/{ => bare}/check_andq.s (100%)
rename tests/tcg/cris/{ => bare}/check_andr.s (100%)
rename tests/tcg/cris/{ => bare}/check_asr.s (100%)
rename tests/tcg/cris/{ => bare}/check_ba.s (100%)
rename tests/tcg/cris/{ => bare}/check_bas.s (100%)
rename tests/tcg/cris/{ => bare}/check_bcc.s (100%)
rename tests/tcg/cris/{ => bare}/check_boundc.s (100%)
rename tests/tcg/cris/{ => bare}/check_boundr.s (100%)
rename tests/tcg/cris/{ => bare}/check_btst.s (100%)
rename tests/tcg/cris/{ => bare}/check_clearfv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_clrjmp1.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmp-2.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpc.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpm.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpq.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpr.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpxc.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpxm.s (100%)
rename tests/tcg/cris/{ => bare}/check_dstep.s (100%)
rename tests/tcg/cris/{ => bare}/check_jsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_lapc.s (100%)
rename tests/tcg/cris/{ => bare}/check_lsl.s (100%)
rename tests/tcg/cris/{ => bare}/check_lsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_mcp.s (100%)
rename tests/tcg/cris/{ => bare}/check_movdelsr1.s (100%)
rename tests/tcg/cris/{ => bare}/check_movecr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movei.s (100%)
rename tests/tcg/cris/{ => bare}/check_movemr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movemrv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_mover.s (100%)
rename tests/tcg/cris/{ => bare}/check_moverm.s (100%)
rename tests/tcg/cris/{ => bare}/check_movmp.s (100%)
rename tests/tcg/cris/{ => bare}/check_movpmv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_movpr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movprv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_movscr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movsm.s (100%)
rename tests/tcg/cris/{ => bare}/check_movsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movucr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movum.s (100%)
rename tests/tcg/cris/{ => bare}/check_movur.s (100%)
rename tests/tcg/cris/{ => bare}/check_mulv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_mulx.s (100%)
rename tests/tcg/cris/{ => bare}/check_neg.s (100%)
rename tests/tcg/cris/{ => bare}/check_not.s (100%)
rename tests/tcg/cris/{ => bare}/check_orc.s (100%)
rename tests/tcg/cris/{ => bare}/check_orm.s (100%)
rename tests/tcg/cris/{ => bare}/check_orq.s (100%)
rename tests/tcg/cris/{ => bare}/check_orr.s (100%)
rename tests/tcg/cris/{ => bare}/check_ret.s (100%)
rename tests/tcg/cris/{ => bare}/check_scc.s (100%)
rename tests/tcg/cris/{ => bare}/check_subc.s (100%)
rename tests/tcg/cris/{ => bare}/check_subm.s (100%)
rename tests/tcg/cris/{ => bare}/check_subq.s (100%)
rename tests/tcg/cris/{ => bare}/check_subr.s (100%)
rename tests/tcg/cris/{ => bare}/check_xarith.s (100%)
rename tests/tcg/cris/{ => bare}/crt.s (100%)
rename tests/tcg/cris/{ => bare}/sys.c (100%)
rename tests/tcg/cris/{ => bare}/testutils.inc (100%)
rename tests/tcg/cris/{ => libc}/check_abs.c (100%)
rename tests/tcg/cris/{ => libc}/check_addc.c (100%)
rename tests/tcg/cris/{ => libc}/check_addcm.c (100%)
rename tests/tcg/cris/{ => libc}/check_addo.c (100%)
rename tests/tcg/cris/{ => libc}/check_addoq.c (100%)
rename tests/tcg/cris/{ => libc}/check_bound.c (100%)
rename tests/tcg/cris/{ => libc}/check_ftag.c (100%)
rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634-1.c (100%)
rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634.c (100%)
rename tests/tcg/cris/{ => libc}/check_glibc_kernelversion.c (100%)
rename tests/tcg/cris/{ => libc}/check_hello.c (100%)
rename tests/tcg/cris/{ => libc}/check_int64.c (100%)
rename tests/tcg/cris/{ => libc}/check_lz.c (100%)
rename tests/tcg/cris/{ => libc}/check_mapbrk.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap1.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap2.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap3.c (100%)
rename tests/tcg/cris/{ => libc}/check_moveq.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf1.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf2.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf3.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf5.c (100%)
rename tests/tcg/cris/{ => libc}/check_settls1.c (100%)
rename tests/tcg/cris/{ => libc}/check_sigalrm.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat1.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat2.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat3.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat4.c (100%)
rename tests/tcg/cris/{ => libc}/check_swap.c (100%)
rename tests/tcg/cris/{ => libc}/check_time2.c (100%)
rename tests/tcg/cris/{ => libc}/crisutils.h (100%)
create mode 100644 tests/tcg/cris/libc/sys.c
rename tests/tcg/cris/{ => libc}/sys.h (100%)
diff --git a/tests/tcg/cris/check_addcv17.s b/tests/tcg/cris/bare/check_addcv17.s
similarity index 100%
rename from tests/tcg/cris/check_addcv17.s
rename to tests/tcg/cris/bare/check_addcv17.s
diff --git a/tests/tcg/cris/check_addi.s b/tests/tcg/cris/bare/check_addi.s
similarity index 100%
rename from tests/tcg/cris/check_addi.s
rename to tests/tcg/cris/bare/check_addi.s
diff --git a/tests/tcg/cris/check_addiv32.s b/tests/tcg/cris/bare/check_addiv32.s
similarity index 100%
rename from tests/tcg/cris/check_addiv32.s
rename to tests/tcg/cris/bare/check_addiv32.s
diff --git a/tests/tcg/cris/check_addm.s b/tests/tcg/cris/bare/check_addm.s
similarity index 100%
rename from tests/tcg/cris/check_addm.s
rename to tests/tcg/cris/bare/check_addm.s
diff --git a/tests/tcg/cris/check_addq.s b/tests/tcg/cris/bare/check_addq.s
similarity index 100%
rename from tests/tcg/cris/check_addq.s
rename to tests/tcg/cris/bare/check_addq.s
diff --git a/tests/tcg/cris/check_addr.s b/tests/tcg/cris/bare/check_addr.s
similarity index 100%
rename from tests/tcg/cris/check_addr.s
rename to tests/tcg/cris/bare/check_addr.s
diff --git a/tests/tcg/cris/check_addxc.s b/tests/tcg/cris/bare/check_addxc.s
similarity index 100%
rename from tests/tcg/cris/check_addxc.s
rename to tests/tcg/cris/bare/check_addxc.s
diff --git a/tests/tcg/cris/check_addxm.s b/tests/tcg/cris/bare/check_addxm.s
similarity index 100%
rename from tests/tcg/cris/check_addxm.s
rename to tests/tcg/cris/bare/check_addxm.s
diff --git a/tests/tcg/cris/check_addxr.s b/tests/tcg/cris/bare/check_addxr.s
similarity index 100%
rename from tests/tcg/cris/check_addxr.s
rename to tests/tcg/cris/bare/check_addxr.s
diff --git a/tests/tcg/cris/check_andc.s b/tests/tcg/cris/bare/check_andc.s
similarity index 100%
rename from tests/tcg/cris/check_andc.s
rename to tests/tcg/cris/bare/check_andc.s
diff --git a/tests/tcg/cris/check_andm.s b/tests/tcg/cris/bare/check_andm.s
similarity index 100%
rename from tests/tcg/cris/check_andm.s
rename to tests/tcg/cris/bare/check_andm.s
diff --git a/tests/tcg/cris/check_andq.s b/tests/tcg/cris/bare/check_andq.s
similarity index 100%
rename from tests/tcg/cris/check_andq.s
rename to tests/tcg/cris/bare/check_andq.s
diff --git a/tests/tcg/cris/check_andr.s b/tests/tcg/cris/bare/check_andr.s
similarity index 100%
rename from tests/tcg/cris/check_andr.s
rename to tests/tcg/cris/bare/check_andr.s
diff --git a/tests/tcg/cris/check_asr.s b/tests/tcg/cris/bare/check_asr.s
similarity index 100%
rename from tests/tcg/cris/check_asr.s
rename to tests/tcg/cris/bare/check_asr.s
diff --git a/tests/tcg/cris/check_ba.s b/tests/tcg/cris/bare/check_ba.s
similarity index 100%
rename from tests/tcg/cris/check_ba.s
rename to tests/tcg/cris/bare/check_ba.s
diff --git a/tests/tcg/cris/check_bas.s b/tests/tcg/cris/bare/check_bas.s
similarity index 100%
rename from tests/tcg/cris/check_bas.s
rename to tests/tcg/cris/bare/check_bas.s
diff --git a/tests/tcg/cris/check_bcc.s b/tests/tcg/cris/bare/check_bcc.s
similarity index 100%
rename from tests/tcg/cris/check_bcc.s
rename to tests/tcg/cris/bare/check_bcc.s
diff --git a/tests/tcg/cris/check_boundc.s b/tests/tcg/cris/bare/check_boundc.s
similarity index 100%
rename from tests/tcg/cris/check_boundc.s
rename to tests/tcg/cris/bare/check_boundc.s
diff --git a/tests/tcg/cris/check_boundr.s b/tests/tcg/cris/bare/check_boundr.s
similarity index 100%
rename from tests/tcg/cris/check_boundr.s
rename to tests/tcg/cris/bare/check_boundr.s
diff --git a/tests/tcg/cris/check_btst.s b/tests/tcg/cris/bare/check_btst.s
similarity index 100%
rename from tests/tcg/cris/check_btst.s
rename to tests/tcg/cris/bare/check_btst.s
diff --git a/tests/tcg/cris/check_clearfv32.s b/tests/tcg/cris/bare/check_clearfv32.s
similarity index 100%
rename from tests/tcg/cris/check_clearfv32.s
rename to tests/tcg/cris/bare/check_clearfv32.s
diff --git a/tests/tcg/cris/check_clrjmp1.s b/tests/tcg/cris/bare/check_clrjmp1.s
similarity index 100%
rename from tests/tcg/cris/check_clrjmp1.s
rename to tests/tcg/cris/bare/check_clrjmp1.s
diff --git a/tests/tcg/cris/check_cmp-2.s b/tests/tcg/cris/bare/check_cmp-2.s
similarity index 100%
rename from tests/tcg/cris/check_cmp-2.s
rename to tests/tcg/cris/bare/check_cmp-2.s
diff --git a/tests/tcg/cris/check_cmpc.s b/tests/tcg/cris/bare/check_cmpc.s
similarity index 100%
rename from tests/tcg/cris/check_cmpc.s
rename to tests/tcg/cris/bare/check_cmpc.s
diff --git a/tests/tcg/cris/check_cmpm.s b/tests/tcg/cris/bare/check_cmpm.s
similarity index 100%
rename from tests/tcg/cris/check_cmpm.s
rename to tests/tcg/cris/bare/check_cmpm.s
diff --git a/tests/tcg/cris/check_cmpq.s b/tests/tcg/cris/bare/check_cmpq.s
similarity index 100%
rename from tests/tcg/cris/check_cmpq.s
rename to tests/tcg/cris/bare/check_cmpq.s
diff --git a/tests/tcg/cris/check_cmpr.s b/tests/tcg/cris/bare/check_cmpr.s
similarity index 100%
rename from tests/tcg/cris/check_cmpr.s
rename to tests/tcg/cris/bare/check_cmpr.s
diff --git a/tests/tcg/cris/check_cmpxc.s b/tests/tcg/cris/bare/check_cmpxc.s
similarity index 100%
rename from tests/tcg/cris/check_cmpxc.s
rename to tests/tcg/cris/bare/check_cmpxc.s
diff --git a/tests/tcg/cris/check_cmpxm.s b/tests/tcg/cris/bare/check_cmpxm.s
similarity index 100%
rename from tests/tcg/cris/check_cmpxm.s
rename to tests/tcg/cris/bare/check_cmpxm.s
diff --git a/tests/tcg/cris/check_dstep.s b/tests/tcg/cris/bare/check_dstep.s
similarity index 100%
rename from tests/tcg/cris/check_dstep.s
rename to tests/tcg/cris/bare/check_dstep.s
diff --git a/tests/tcg/cris/check_jsr.s b/tests/tcg/cris/bare/check_jsr.s
similarity index 100%
rename from tests/tcg/cris/check_jsr.s
rename to tests/tcg/cris/bare/check_jsr.s
diff --git a/tests/tcg/cris/check_lapc.s b/tests/tcg/cris/bare/check_lapc.s
similarity index 100%
rename from tests/tcg/cris/check_lapc.s
rename to tests/tcg/cris/bare/check_lapc.s
diff --git a/tests/tcg/cris/check_lsl.s b/tests/tcg/cris/bare/check_lsl.s
similarity index 100%
rename from tests/tcg/cris/check_lsl.s
rename to tests/tcg/cris/bare/check_lsl.s
diff --git a/tests/tcg/cris/check_lsr.s b/tests/tcg/cris/bare/check_lsr.s
similarity index 100%
rename from tests/tcg/cris/check_lsr.s
rename to tests/tcg/cris/bare/check_lsr.s
diff --git a/tests/tcg/cris/check_mcp.s b/tests/tcg/cris/bare/check_mcp.s
similarity index 100%
rename from tests/tcg/cris/check_mcp.s
rename to tests/tcg/cris/bare/check_mcp.s
diff --git a/tests/tcg/cris/check_movdelsr1.s b/tests/tcg/cris/bare/check_movdelsr1.s
similarity index 100%
rename from tests/tcg/cris/check_movdelsr1.s
rename to tests/tcg/cris/bare/check_movdelsr1.s
diff --git a/tests/tcg/cris/check_movecr.s b/tests/tcg/cris/bare/check_movecr.s
similarity index 100%
rename from tests/tcg/cris/check_movecr.s
rename to tests/tcg/cris/bare/check_movecr.s
diff --git a/tests/tcg/cris/check_movei.s b/tests/tcg/cris/bare/check_movei.s
similarity index 100%
rename from tests/tcg/cris/check_movei.s
rename to tests/tcg/cris/bare/check_movei.s
diff --git a/tests/tcg/cris/check_movemr.s b/tests/tcg/cris/bare/check_movemr.s
similarity index 100%
rename from tests/tcg/cris/check_movemr.s
rename to tests/tcg/cris/bare/check_movemr.s
diff --git a/tests/tcg/cris/check_movemrv32.s b/tests/tcg/cris/bare/check_movemrv32.s
similarity index 100%
rename from tests/tcg/cris/check_movemrv32.s
rename to tests/tcg/cris/bare/check_movemrv32.s
diff --git a/tests/tcg/cris/check_mover.s b/tests/tcg/cris/bare/check_mover.s
similarity index 100%
rename from tests/tcg/cris/check_mover.s
rename to tests/tcg/cris/bare/check_mover.s
diff --git a/tests/tcg/cris/check_moverm.s b/tests/tcg/cris/bare/check_moverm.s
similarity index 100%
rename from tests/tcg/cris/check_moverm.s
rename to tests/tcg/cris/bare/check_moverm.s
diff --git a/tests/tcg/cris/check_movmp.s b/tests/tcg/cris/bare/check_movmp.s
similarity index 100%
rename from tests/tcg/cris/check_movmp.s
rename to tests/tcg/cris/bare/check_movmp.s
diff --git a/tests/tcg/cris/check_movpmv32.s b/tests/tcg/cris/bare/check_movpmv32.s
similarity index 100%
rename from tests/tcg/cris/check_movpmv32.s
rename to tests/tcg/cris/bare/check_movpmv32.s
diff --git a/tests/tcg/cris/check_movpr.s b/tests/tcg/cris/bare/check_movpr.s
similarity index 100%
rename from tests/tcg/cris/check_movpr.s
rename to tests/tcg/cris/bare/check_movpr.s
diff --git a/tests/tcg/cris/check_movprv32.s b/tests/tcg/cris/bare/check_movprv32.s
similarity index 100%
rename from tests/tcg/cris/check_movprv32.s
rename to tests/tcg/cris/bare/check_movprv32.s
diff --git a/tests/tcg/cris/check_movscr.s b/tests/tcg/cris/bare/check_movscr.s
similarity index 100%
rename from tests/tcg/cris/check_movscr.s
rename to tests/tcg/cris/bare/check_movscr.s
diff --git a/tests/tcg/cris/check_movsm.s b/tests/tcg/cris/bare/check_movsm.s
similarity index 100%
rename from tests/tcg/cris/check_movsm.s
rename to tests/tcg/cris/bare/check_movsm.s
diff --git a/tests/tcg/cris/check_movsr.s b/tests/tcg/cris/bare/check_movsr.s
similarity index 100%
rename from tests/tcg/cris/check_movsr.s
rename to tests/tcg/cris/bare/check_movsr.s
diff --git a/tests/tcg/cris/check_movucr.s b/tests/tcg/cris/bare/check_movucr.s
similarity index 100%
rename from tests/tcg/cris/check_movucr.s
rename to tests/tcg/cris/bare/check_movucr.s
diff --git a/tests/tcg/cris/check_movum.s b/tests/tcg/cris/bare/check_movum.s
similarity index 100%
rename from tests/tcg/cris/check_movum.s
rename to tests/tcg/cris/bare/check_movum.s
diff --git a/tests/tcg/cris/check_movur.s b/tests/tcg/cris/bare/check_movur.s
similarity index 100%
rename from tests/tcg/cris/check_movur.s
rename to tests/tcg/cris/bare/check_movur.s
diff --git a/tests/tcg/cris/check_mulv32.s b/tests/tcg/cris/bare/check_mulv32.s
similarity index 100%
rename from tests/tcg/cris/check_mulv32.s
rename to tests/tcg/cris/bare/check_mulv32.s
diff --git a/tests/tcg/cris/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
similarity index 100%
rename from tests/tcg/cris/check_mulx.s
rename to tests/tcg/cris/bare/check_mulx.s
diff --git a/tests/tcg/cris/check_neg.s b/tests/tcg/cris/bare/check_neg.s
similarity index 100%
rename from tests/tcg/cris/check_neg.s
rename to tests/tcg/cris/bare/check_neg.s
diff --git a/tests/tcg/cris/check_not.s b/tests/tcg/cris/bare/check_not.s
similarity index 100%
rename from tests/tcg/cris/check_not.s
rename to tests/tcg/cris/bare/check_not.s
diff --git a/tests/tcg/cris/check_orc.s b/tests/tcg/cris/bare/check_orc.s
similarity index 100%
rename from tests/tcg/cris/check_orc.s
rename to tests/tcg/cris/bare/check_orc.s
diff --git a/tests/tcg/cris/check_orm.s b/tests/tcg/cris/bare/check_orm.s
similarity index 100%
rename from tests/tcg/cris/check_orm.s
rename to tests/tcg/cris/bare/check_orm.s
diff --git a/tests/tcg/cris/check_orq.s b/tests/tcg/cris/bare/check_orq.s
similarity index 100%
rename from tests/tcg/cris/check_orq.s
rename to tests/tcg/cris/bare/check_orq.s
diff --git a/tests/tcg/cris/check_orr.s b/tests/tcg/cris/bare/check_orr.s
similarity index 100%
rename from tests/tcg/cris/check_orr.s
rename to tests/tcg/cris/bare/check_orr.s
diff --git a/tests/tcg/cris/check_ret.s b/tests/tcg/cris/bare/check_ret.s
similarity index 100%
rename from tests/tcg/cris/check_ret.s
rename to tests/tcg/cris/bare/check_ret.s
diff --git a/tests/tcg/cris/check_scc.s b/tests/tcg/cris/bare/check_scc.s
similarity index 100%
rename from tests/tcg/cris/check_scc.s
rename to tests/tcg/cris/bare/check_scc.s
diff --git a/tests/tcg/cris/check_subc.s b/tests/tcg/cris/bare/check_subc.s
similarity index 100%
rename from tests/tcg/cris/check_subc.s
rename to tests/tcg/cris/bare/check_subc.s
diff --git a/tests/tcg/cris/check_subm.s b/tests/tcg/cris/bare/check_subm.s
similarity index 100%
rename from tests/tcg/cris/check_subm.s
rename to tests/tcg/cris/bare/check_subm.s
diff --git a/tests/tcg/cris/check_subq.s b/tests/tcg/cris/bare/check_subq.s
similarity index 100%
rename from tests/tcg/cris/check_subq.s
rename to tests/tcg/cris/bare/check_subq.s
diff --git a/tests/tcg/cris/check_subr.s b/tests/tcg/cris/bare/check_subr.s
similarity index 100%
rename from tests/tcg/cris/check_subr.s
rename to tests/tcg/cris/bare/check_subr.s
diff --git a/tests/tcg/cris/check_xarith.s b/tests/tcg/cris/bare/check_xarith.s
similarity index 100%
rename from tests/tcg/cris/check_xarith.s
rename to tests/tcg/cris/bare/check_xarith.s
diff --git a/tests/tcg/cris/crt.s b/tests/tcg/cris/bare/crt.s
similarity index 100%
rename from tests/tcg/cris/crt.s
rename to tests/tcg/cris/bare/crt.s
diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/bare/sys.c
similarity index 100%
rename from tests/tcg/cris/sys.c
rename to tests/tcg/cris/bare/sys.c
diff --git a/tests/tcg/cris/testutils.inc b/tests/tcg/cris/bare/testutils.inc
similarity index 100%
rename from tests/tcg/cris/testutils.inc
rename to tests/tcg/cris/bare/testutils.inc
diff --git a/tests/tcg/cris/check_abs.c b/tests/tcg/cris/libc/check_abs.c
similarity index 100%
rename from tests/tcg/cris/check_abs.c
rename to tests/tcg/cris/libc/check_abs.c
diff --git a/tests/tcg/cris/check_addc.c b/tests/tcg/cris/libc/check_addc.c
similarity index 100%
rename from tests/tcg/cris/check_addc.c
rename to tests/tcg/cris/libc/check_addc.c
diff --git a/tests/tcg/cris/check_addcm.c b/tests/tcg/cris/libc/check_addcm.c
similarity index 100%
rename from tests/tcg/cris/check_addcm.c
rename to tests/tcg/cris/libc/check_addcm.c
diff --git a/tests/tcg/cris/check_addo.c b/tests/tcg/cris/libc/check_addo.c
similarity index 100%
rename from tests/tcg/cris/check_addo.c
rename to tests/tcg/cris/libc/check_addo.c
diff --git a/tests/tcg/cris/check_addoq.c b/tests/tcg/cris/libc/check_addoq.c
similarity index 100%
rename from tests/tcg/cris/check_addoq.c
rename to tests/tcg/cris/libc/check_addoq.c
diff --git a/tests/tcg/cris/check_bound.c b/tests/tcg/cris/libc/check_bound.c
similarity index 100%
rename from tests/tcg/cris/check_bound.c
rename to tests/tcg/cris/libc/check_bound.c
diff --git a/tests/tcg/cris/check_ftag.c b/tests/tcg/cris/libc/check_ftag.c
similarity index 100%
rename from tests/tcg/cris/check_ftag.c
rename to tests/tcg/cris/libc/check_ftag.c
diff --git a/tests/tcg/cris/check_gcctorture_pr28634-1.c b/tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
similarity index 100%
rename from tests/tcg/cris/check_gcctorture_pr28634-1.c
rename to tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
diff --git a/tests/tcg/cris/check_gcctorture_pr28634.c b/tests/tcg/cris/libc/check_gcctorture_pr28634.c
similarity index 100%
rename from tests/tcg/cris/check_gcctorture_pr28634.c
rename to tests/tcg/cris/libc/check_gcctorture_pr28634.c
diff --git a/tests/tcg/cris/check_glibc_kernelversion.c b/tests/tcg/cris/libc/check_glibc_kernelversion.c
similarity index 100%
rename from tests/tcg/cris/check_glibc_kernelversion.c
rename to tests/tcg/cris/libc/check_glibc_kernelversion.c
diff --git a/tests/tcg/cris/check_hello.c b/tests/tcg/cris/libc/check_hello.c
similarity index 100%
rename from tests/tcg/cris/check_hello.c
rename to tests/tcg/cris/libc/check_hello.c
diff --git a/tests/tcg/cris/check_int64.c b/tests/tcg/cris/libc/check_int64.c
similarity index 100%
rename from tests/tcg/cris/check_int64.c
rename to tests/tcg/cris/libc/check_int64.c
diff --git a/tests/tcg/cris/check_lz.c b/tests/tcg/cris/libc/check_lz.c
similarity index 100%
rename from tests/tcg/cris/check_lz.c
rename to tests/tcg/cris/libc/check_lz.c
diff --git a/tests/tcg/cris/check_mapbrk.c b/tests/tcg/cris/libc/check_mapbrk.c
similarity index 100%
rename from tests/tcg/cris/check_mapbrk.c
rename to tests/tcg/cris/libc/check_mapbrk.c
diff --git a/tests/tcg/cris/check_mmap1.c b/tests/tcg/cris/libc/check_mmap1.c
similarity index 100%
rename from tests/tcg/cris/check_mmap1.c
rename to tests/tcg/cris/libc/check_mmap1.c
diff --git a/tests/tcg/cris/check_mmap2.c b/tests/tcg/cris/libc/check_mmap2.c
similarity index 100%
rename from tests/tcg/cris/check_mmap2.c
rename to tests/tcg/cris/libc/check_mmap2.c
diff --git a/tests/tcg/cris/check_mmap3.c b/tests/tcg/cris/libc/check_mmap3.c
similarity index 100%
rename from tests/tcg/cris/check_mmap3.c
rename to tests/tcg/cris/libc/check_mmap3.c
diff --git a/tests/tcg/cris/check_moveq.c b/tests/tcg/cris/libc/check_moveq.c
similarity index 100%
rename from tests/tcg/cris/check_moveq.c
rename to tests/tcg/cris/libc/check_moveq.c
diff --git a/tests/tcg/cris/check_openpf1.c b/tests/tcg/cris/libc/check_openpf1.c
similarity index 100%
rename from tests/tcg/cris/check_openpf1.c
rename to tests/tcg/cris/libc/check_openpf1.c
diff --git a/tests/tcg/cris/check_openpf2.c b/tests/tcg/cris/libc/check_openpf2.c
similarity index 100%
rename from tests/tcg/cris/check_openpf2.c
rename to tests/tcg/cris/libc/check_openpf2.c
diff --git a/tests/tcg/cris/check_openpf3.c b/tests/tcg/cris/libc/check_openpf3.c
similarity index 100%
rename from tests/tcg/cris/check_openpf3.c
rename to tests/tcg/cris/libc/check_openpf3.c
diff --git a/tests/tcg/cris/check_openpf5.c b/tests/tcg/cris/libc/check_openpf5.c
similarity index 100%
rename from tests/tcg/cris/check_openpf5.c
rename to tests/tcg/cris/libc/check_openpf5.c
diff --git a/tests/tcg/cris/check_settls1.c b/tests/tcg/cris/libc/check_settls1.c
similarity index 100%
rename from tests/tcg/cris/check_settls1.c
rename to tests/tcg/cris/libc/check_settls1.c
diff --git a/tests/tcg/cris/check_sigalrm.c b/tests/tcg/cris/libc/check_sigalrm.c
similarity index 100%
rename from tests/tcg/cris/check_sigalrm.c
rename to tests/tcg/cris/libc/check_sigalrm.c
diff --git a/tests/tcg/cris/check_stat1.c b/tests/tcg/cris/libc/check_stat1.c
similarity index 100%
rename from tests/tcg/cris/check_stat1.c
rename to tests/tcg/cris/libc/check_stat1.c
diff --git a/tests/tcg/cris/check_stat2.c b/tests/tcg/cris/libc/check_stat2.c
similarity index 100%
rename from tests/tcg/cris/check_stat2.c
rename to tests/tcg/cris/libc/check_stat2.c
diff --git a/tests/tcg/cris/check_stat3.c b/tests/tcg/cris/libc/check_stat3.c
similarity index 100%
rename from tests/tcg/cris/check_stat3.c
rename to tests/tcg/cris/libc/check_stat3.c
diff --git a/tests/tcg/cris/check_stat4.c b/tests/tcg/cris/libc/check_stat4.c
similarity index 100%
rename from tests/tcg/cris/check_stat4.c
rename to tests/tcg/cris/libc/check_stat4.c
diff --git a/tests/tcg/cris/check_swap.c b/tests/tcg/cris/libc/check_swap.c
similarity index 100%
rename from tests/tcg/cris/check_swap.c
rename to tests/tcg/cris/libc/check_swap.c
diff --git a/tests/tcg/cris/check_time2.c b/tests/tcg/cris/libc/check_time2.c
similarity index 100%
rename from tests/tcg/cris/check_time2.c
rename to tests/tcg/cris/libc/check_time2.c
diff --git a/tests/tcg/cris/crisutils.h b/tests/tcg/cris/libc/crisutils.h
similarity index 100%
rename from tests/tcg/cris/crisutils.h
rename to tests/tcg/cris/libc/crisutils.h
diff --git a/tests/tcg/cris/libc/sys.c b/tests/tcg/cris/libc/sys.c
new file mode 100644
index 0000000000..b8e759eee3
--- /dev/null
+++ b/tests/tcg/cris/libc/sys.c
@@ -0,0 +1,58 @@
+/*
+ * Minilib helpers functions for system test
+ */
+
+
+void exit (int status) {
+ register unsigned int callno asm ("r9") = 1; /* NR_exit */
+ asm volatile ("break 13\n"
+ :
+ : "r" (callno)
+ : "memory" );
+ while(1);
+}
+
+ssize_t write (int fd, const void *buf, size_t count) {
+ register unsigned int callno asm ("r9") = 4; /* NR_write */
+ register unsigned int r10 asm ("r10") = fd;
+ register const void *r11 asm ("r11") = buf;
+ register size_t r12 asm ("r12") = count;
+ register unsigned int r asm ("r10");
+
+ asm volatile ("break 13\n"
+ : "=r" (r)
+ : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
+ : "memory");
+
+ return r;
+}
+
+static inline int mystrlen(char *s) {
+ int i = 0;
+ while (s[i])
+ i++;
+ return i;
+}
+
+void pass(void) {
+ char s[] = "passed.\n";
+ write (1, s, sizeof (s) - 1);
+ exit (0);
+}
+
+void _fail(char *reason) {
+ char s[] = "\nfailed: ";
+ int len = mystrlen(reason);
+ write (1, s, sizeof (s) - 1);
+ write (1, reason, len);
+ write (1, "\n", 1);
+// exit (1);
+}
+
+void *memset (void *s, int c, size_t n) {
+ char *p = s;
+ int i;
+ for (i = 0; i < n; i++)
+ p[i] = c;
+ return p;
+}
diff --git a/tests/tcg/cris/sys.h b/tests/tcg/cris/libc/sys.h
similarity index 100%
rename from tests/tcg/cris/sys.h
rename to tests/tcg/cris/libc/sys.h
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories Alex Bennée
@ 2019-02-28 23:07 ` Philippe Mathieu-Daudé
2019-02-28 23:21 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 29+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-02-28 23:07 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: edgar.iglesias, qemu-arm, jcmvbkbc
Hi Alex,
On 2/28/19 9:25 PM, Alex Bennée wrote:
> Bare tests are standalone assembly tests that don't require linking to
> any libc and hence can be built with kernel only compilers. The libc
> tests need a compiler capable of building properly linked userspace
> binaries. As we don't have such a cross compiler at the moment we
> won't be building those tests.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v2
> - split between bare/libc instead of system/user
> ---
> tests/tcg/cris/{ => bare}/check_addcv17.s | 0
> tests/tcg/cris/{ => bare}/check_addi.s | 0
> tests/tcg/cris/{ => bare}/check_addiv32.s | 0
> tests/tcg/cris/{ => bare}/check_addm.s | 0
> tests/tcg/cris/{ => bare}/check_addq.s | 0
> tests/tcg/cris/{ => bare}/check_addr.s | 0
> tests/tcg/cris/{ => bare}/check_addxc.s | 0
> tests/tcg/cris/{ => bare}/check_addxm.s | 0
> tests/tcg/cris/{ => bare}/check_addxr.s | 0
> tests/tcg/cris/{ => bare}/check_andc.s | 0
> tests/tcg/cris/{ => bare}/check_andm.s | 0
> tests/tcg/cris/{ => bare}/check_andq.s | 0
> tests/tcg/cris/{ => bare}/check_andr.s | 0
> tests/tcg/cris/{ => bare}/check_asr.s | 0
> tests/tcg/cris/{ => bare}/check_ba.s | 0
> tests/tcg/cris/{ => bare}/check_bas.s | 0
> tests/tcg/cris/{ => bare}/check_bcc.s | 0
> tests/tcg/cris/{ => bare}/check_boundc.s | 0
> tests/tcg/cris/{ => bare}/check_boundr.s | 0
> tests/tcg/cris/{ => bare}/check_btst.s | 0
> tests/tcg/cris/{ => bare}/check_clearfv32.s | 0
> tests/tcg/cris/{ => bare}/check_clrjmp1.s | 0
> tests/tcg/cris/{ => bare}/check_cmp-2.s | 0
> tests/tcg/cris/{ => bare}/check_cmpc.s | 0
> tests/tcg/cris/{ => bare}/check_cmpm.s | 0
> tests/tcg/cris/{ => bare}/check_cmpq.s | 0
> tests/tcg/cris/{ => bare}/check_cmpr.s | 0
> tests/tcg/cris/{ => bare}/check_cmpxc.s | 0
> tests/tcg/cris/{ => bare}/check_cmpxm.s | 0
> tests/tcg/cris/{ => bare}/check_dstep.s | 0
> tests/tcg/cris/{ => bare}/check_jsr.s | 0
> tests/tcg/cris/{ => bare}/check_lapc.s | 0
> tests/tcg/cris/{ => bare}/check_lsl.s | 0
> tests/tcg/cris/{ => bare}/check_lsr.s | 0
> tests/tcg/cris/{ => bare}/check_mcp.s | 0
> tests/tcg/cris/{ => bare}/check_movdelsr1.s | 0
> tests/tcg/cris/{ => bare}/check_movecr.s | 0
> tests/tcg/cris/{ => bare}/check_movei.s | 0
> tests/tcg/cris/{ => bare}/check_movemr.s | 0
> tests/tcg/cris/{ => bare}/check_movemrv32.s | 0
> tests/tcg/cris/{ => bare}/check_mover.s | 0
> tests/tcg/cris/{ => bare}/check_moverm.s | 0
> tests/tcg/cris/{ => bare}/check_movmp.s | 0
> tests/tcg/cris/{ => bare}/check_movpmv32.s | 0
> tests/tcg/cris/{ => bare}/check_movpr.s | 0
> tests/tcg/cris/{ => bare}/check_movprv32.s | 0
> tests/tcg/cris/{ => bare}/check_movscr.s | 0
> tests/tcg/cris/{ => bare}/check_movsm.s | 0
> tests/tcg/cris/{ => bare}/check_movsr.s | 0
> tests/tcg/cris/{ => bare}/check_movucr.s | 0
> tests/tcg/cris/{ => bare}/check_movum.s | 0
> tests/tcg/cris/{ => bare}/check_movur.s | 0
> tests/tcg/cris/{ => bare}/check_mulv32.s | 0
> tests/tcg/cris/{ => bare}/check_mulx.s | 0
> tests/tcg/cris/{ => bare}/check_neg.s | 0
> tests/tcg/cris/{ => bare}/check_not.s | 0
> tests/tcg/cris/{ => bare}/check_orc.s | 0
> tests/tcg/cris/{ => bare}/check_orm.s | 0
> tests/tcg/cris/{ => bare}/check_orq.s | 0
> tests/tcg/cris/{ => bare}/check_orr.s | 0
> tests/tcg/cris/{ => bare}/check_ret.s | 0
> tests/tcg/cris/{ => bare}/check_scc.s | 0
> tests/tcg/cris/{ => bare}/check_subc.s | 0
> tests/tcg/cris/{ => bare}/check_subm.s | 0
> tests/tcg/cris/{ => bare}/check_subq.s | 0
> tests/tcg/cris/{ => bare}/check_subr.s | 0
> tests/tcg/cris/{ => bare}/check_xarith.s | 0
> tests/tcg/cris/{ => bare}/crt.s | 0
> tests/tcg/cris/{ => bare}/sys.c | 0
Here you move the current sys.c which includes stdio/stdlib/unistd to
bare ...
> tests/tcg/cris/{ => bare}/testutils.inc | 0
> tests/tcg/cris/{ => libc}/check_abs.c | 0
> tests/tcg/cris/{ => libc}/check_addc.c | 0
> tests/tcg/cris/{ => libc}/check_addcm.c | 0
> tests/tcg/cris/{ => libc}/check_addo.c | 0
> tests/tcg/cris/{ => libc}/check_addoq.c | 0
> tests/tcg/cris/{ => libc}/check_bound.c | 0
> tests/tcg/cris/{ => libc}/check_ftag.c | 0
> .../{ => libc}/check_gcctorture_pr28634-1.c | 0
> .../{ => libc}/check_gcctorture_pr28634.c | 0
> .../{ => libc}/check_glibc_kernelversion.c | 0
> tests/tcg/cris/{ => libc}/check_hello.c | 0
> tests/tcg/cris/{ => libc}/check_int64.c | 0
> tests/tcg/cris/{ => libc}/check_lz.c | 0
> tests/tcg/cris/{ => libc}/check_mapbrk.c | 0
> tests/tcg/cris/{ => libc}/check_mmap1.c | 0
> tests/tcg/cris/{ => libc}/check_mmap2.c | 0
> tests/tcg/cris/{ => libc}/check_mmap3.c | 0
> tests/tcg/cris/{ => libc}/check_moveq.c | 0
> tests/tcg/cris/{ => libc}/check_openpf1.c | 0
> tests/tcg/cris/{ => libc}/check_openpf2.c | 0
> tests/tcg/cris/{ => libc}/check_openpf3.c | 0
> tests/tcg/cris/{ => libc}/check_openpf5.c | 0
> tests/tcg/cris/{ => libc}/check_settls1.c | 0
> tests/tcg/cris/{ => libc}/check_sigalrm.c | 0
> tests/tcg/cris/{ => libc}/check_stat1.c | 0
> tests/tcg/cris/{ => libc}/check_stat2.c | 0
> tests/tcg/cris/{ => libc}/check_stat3.c | 0
> tests/tcg/cris/{ => libc}/check_stat4.c | 0
> tests/tcg/cris/{ => libc}/check_swap.c | 0
> tests/tcg/cris/{ => libc}/check_time2.c | 0
> tests/tcg/cris/{ => libc}/crisutils.h | 0
> tests/tcg/cris/libc/sys.c | 58 +++++++++++++++++++
> tests/tcg/cris/{ => libc}/sys.h | 0
> 103 files changed, 58 insertions(+)
> rename tests/tcg/cris/{ => bare}/check_addcv17.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addi.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addiv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addq.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addxc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addxm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_addxr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_andc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_andm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_andq.s (100%)
> rename tests/tcg/cris/{ => bare}/check_andr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_asr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_ba.s (100%)
> rename tests/tcg/cris/{ => bare}/check_bas.s (100%)
> rename tests/tcg/cris/{ => bare}/check_bcc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_boundc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_boundr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_btst.s (100%)
> rename tests/tcg/cris/{ => bare}/check_clearfv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_clrjmp1.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmp-2.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpq.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpxc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_cmpxm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_dstep.s (100%)
> rename tests/tcg/cris/{ => bare}/check_jsr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_lapc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_lsl.s (100%)
> rename tests/tcg/cris/{ => bare}/check_lsr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_mcp.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movdelsr1.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movecr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movei.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movemr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movemrv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_mover.s (100%)
> rename tests/tcg/cris/{ => bare}/check_moverm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movmp.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movpmv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movpr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movprv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movscr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movsm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movsr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movucr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movum.s (100%)
> rename tests/tcg/cris/{ => bare}/check_movur.s (100%)
> rename tests/tcg/cris/{ => bare}/check_mulv32.s (100%)
> rename tests/tcg/cris/{ => bare}/check_mulx.s (100%)
> rename tests/tcg/cris/{ => bare}/check_neg.s (100%)
> rename tests/tcg/cris/{ => bare}/check_not.s (100%)
> rename tests/tcg/cris/{ => bare}/check_orc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_orm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_orq.s (100%)
> rename tests/tcg/cris/{ => bare}/check_orr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_ret.s (100%)
> rename tests/tcg/cris/{ => bare}/check_scc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_subc.s (100%)
> rename tests/tcg/cris/{ => bare}/check_subm.s (100%)
> rename tests/tcg/cris/{ => bare}/check_subq.s (100%)
> rename tests/tcg/cris/{ => bare}/check_subr.s (100%)
> rename tests/tcg/cris/{ => bare}/check_xarith.s (100%)
> rename tests/tcg/cris/{ => bare}/crt.s (100%)
> rename tests/tcg/cris/{ => bare}/sys.c (100%)
> rename tests/tcg/cris/{ => bare}/testutils.inc (100%)
> rename tests/tcg/cris/{ => libc}/check_abs.c (100%)
> rename tests/tcg/cris/{ => libc}/check_addc.c (100%)
> rename tests/tcg/cris/{ => libc}/check_addcm.c (100%)
> rename tests/tcg/cris/{ => libc}/check_addo.c (100%)
> rename tests/tcg/cris/{ => libc}/check_addoq.c (100%)
> rename tests/tcg/cris/{ => libc}/check_bound.c (100%)
> rename tests/tcg/cris/{ => libc}/check_ftag.c (100%)
> rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634-1.c (100%)
> rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634.c (100%)
> rename tests/tcg/cris/{ => libc}/check_glibc_kernelversion.c (100%)
> rename tests/tcg/cris/{ => libc}/check_hello.c (100%)
> rename tests/tcg/cris/{ => libc}/check_int64.c (100%)
> rename tests/tcg/cris/{ => libc}/check_lz.c (100%)
> rename tests/tcg/cris/{ => libc}/check_mapbrk.c (100%)
> rename tests/tcg/cris/{ => libc}/check_mmap1.c (100%)
> rename tests/tcg/cris/{ => libc}/check_mmap2.c (100%)
> rename tests/tcg/cris/{ => libc}/check_mmap3.c (100%)
> rename tests/tcg/cris/{ => libc}/check_moveq.c (100%)
> rename tests/tcg/cris/{ => libc}/check_openpf1.c (100%)
> rename tests/tcg/cris/{ => libc}/check_openpf2.c (100%)
> rename tests/tcg/cris/{ => libc}/check_openpf3.c (100%)
> rename tests/tcg/cris/{ => libc}/check_openpf5.c (100%)
> rename tests/tcg/cris/{ => libc}/check_settls1.c (100%)
> rename tests/tcg/cris/{ => libc}/check_sigalrm.c (100%)
> rename tests/tcg/cris/{ => libc}/check_stat1.c (100%)
> rename tests/tcg/cris/{ => libc}/check_stat2.c (100%)
> rename tests/tcg/cris/{ => libc}/check_stat3.c (100%)
> rename tests/tcg/cris/{ => libc}/check_stat4.c (100%)
> rename tests/tcg/cris/{ => libc}/check_swap.c (100%)
> rename tests/tcg/cris/{ => libc}/check_time2.c (100%)
> rename tests/tcg/cris/{ => libc}/crisutils.h (100%)
> create mode 100644 tests/tcg/cris/libc/sys.c
> rename tests/tcg/cris/{ => libc}/sys.h (100%)
>
> diff --git a/tests/tcg/cris/check_addcv17.s b/tests/tcg/cris/bare/check_addcv17.s
> similarity index 100%
> rename from tests/tcg/cris/check_addcv17.s
> rename to tests/tcg/cris/bare/check_addcv17.s
> diff --git a/tests/tcg/cris/check_addi.s b/tests/tcg/cris/bare/check_addi.s
> similarity index 100%
> rename from tests/tcg/cris/check_addi.s
> rename to tests/tcg/cris/bare/check_addi.s
> diff --git a/tests/tcg/cris/check_addiv32.s b/tests/tcg/cris/bare/check_addiv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_addiv32.s
> rename to tests/tcg/cris/bare/check_addiv32.s
> diff --git a/tests/tcg/cris/check_addm.s b/tests/tcg/cris/bare/check_addm.s
> similarity index 100%
> rename from tests/tcg/cris/check_addm.s
> rename to tests/tcg/cris/bare/check_addm.s
> diff --git a/tests/tcg/cris/check_addq.s b/tests/tcg/cris/bare/check_addq.s
> similarity index 100%
> rename from tests/tcg/cris/check_addq.s
> rename to tests/tcg/cris/bare/check_addq.s
> diff --git a/tests/tcg/cris/check_addr.s b/tests/tcg/cris/bare/check_addr.s
> similarity index 100%
> rename from tests/tcg/cris/check_addr.s
> rename to tests/tcg/cris/bare/check_addr.s
> diff --git a/tests/tcg/cris/check_addxc.s b/tests/tcg/cris/bare/check_addxc.s
> similarity index 100%
> rename from tests/tcg/cris/check_addxc.s
> rename to tests/tcg/cris/bare/check_addxc.s
> diff --git a/tests/tcg/cris/check_addxm.s b/tests/tcg/cris/bare/check_addxm.s
> similarity index 100%
> rename from tests/tcg/cris/check_addxm.s
> rename to tests/tcg/cris/bare/check_addxm.s
> diff --git a/tests/tcg/cris/check_addxr.s b/tests/tcg/cris/bare/check_addxr.s
> similarity index 100%
> rename from tests/tcg/cris/check_addxr.s
> rename to tests/tcg/cris/bare/check_addxr.s
> diff --git a/tests/tcg/cris/check_andc.s b/tests/tcg/cris/bare/check_andc.s
> similarity index 100%
> rename from tests/tcg/cris/check_andc.s
> rename to tests/tcg/cris/bare/check_andc.s
> diff --git a/tests/tcg/cris/check_andm.s b/tests/tcg/cris/bare/check_andm.s
> similarity index 100%
> rename from tests/tcg/cris/check_andm.s
> rename to tests/tcg/cris/bare/check_andm.s
> diff --git a/tests/tcg/cris/check_andq.s b/tests/tcg/cris/bare/check_andq.s
> similarity index 100%
> rename from tests/tcg/cris/check_andq.s
> rename to tests/tcg/cris/bare/check_andq.s
> diff --git a/tests/tcg/cris/check_andr.s b/tests/tcg/cris/bare/check_andr.s
> similarity index 100%
> rename from tests/tcg/cris/check_andr.s
> rename to tests/tcg/cris/bare/check_andr.s
> diff --git a/tests/tcg/cris/check_asr.s b/tests/tcg/cris/bare/check_asr.s
> similarity index 100%
> rename from tests/tcg/cris/check_asr.s
> rename to tests/tcg/cris/bare/check_asr.s
> diff --git a/tests/tcg/cris/check_ba.s b/tests/tcg/cris/bare/check_ba.s
> similarity index 100%
> rename from tests/tcg/cris/check_ba.s
> rename to tests/tcg/cris/bare/check_ba.s
> diff --git a/tests/tcg/cris/check_bas.s b/tests/tcg/cris/bare/check_bas.s
> similarity index 100%
> rename from tests/tcg/cris/check_bas.s
> rename to tests/tcg/cris/bare/check_bas.s
> diff --git a/tests/tcg/cris/check_bcc.s b/tests/tcg/cris/bare/check_bcc.s
> similarity index 100%
> rename from tests/tcg/cris/check_bcc.s
> rename to tests/tcg/cris/bare/check_bcc.s
> diff --git a/tests/tcg/cris/check_boundc.s b/tests/tcg/cris/bare/check_boundc.s
> similarity index 100%
> rename from tests/tcg/cris/check_boundc.s
> rename to tests/tcg/cris/bare/check_boundc.s
> diff --git a/tests/tcg/cris/check_boundr.s b/tests/tcg/cris/bare/check_boundr.s
> similarity index 100%
> rename from tests/tcg/cris/check_boundr.s
> rename to tests/tcg/cris/bare/check_boundr.s
> diff --git a/tests/tcg/cris/check_btst.s b/tests/tcg/cris/bare/check_btst.s
> similarity index 100%
> rename from tests/tcg/cris/check_btst.s
> rename to tests/tcg/cris/bare/check_btst.s
> diff --git a/tests/tcg/cris/check_clearfv32.s b/tests/tcg/cris/bare/check_clearfv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_clearfv32.s
> rename to tests/tcg/cris/bare/check_clearfv32.s
> diff --git a/tests/tcg/cris/check_clrjmp1.s b/tests/tcg/cris/bare/check_clrjmp1.s
> similarity index 100%
> rename from tests/tcg/cris/check_clrjmp1.s
> rename to tests/tcg/cris/bare/check_clrjmp1.s
> diff --git a/tests/tcg/cris/check_cmp-2.s b/tests/tcg/cris/bare/check_cmp-2.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmp-2.s
> rename to tests/tcg/cris/bare/check_cmp-2.s
> diff --git a/tests/tcg/cris/check_cmpc.s b/tests/tcg/cris/bare/check_cmpc.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpc.s
> rename to tests/tcg/cris/bare/check_cmpc.s
> diff --git a/tests/tcg/cris/check_cmpm.s b/tests/tcg/cris/bare/check_cmpm.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpm.s
> rename to tests/tcg/cris/bare/check_cmpm.s
> diff --git a/tests/tcg/cris/check_cmpq.s b/tests/tcg/cris/bare/check_cmpq.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpq.s
> rename to tests/tcg/cris/bare/check_cmpq.s
> diff --git a/tests/tcg/cris/check_cmpr.s b/tests/tcg/cris/bare/check_cmpr.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpr.s
> rename to tests/tcg/cris/bare/check_cmpr.s
> diff --git a/tests/tcg/cris/check_cmpxc.s b/tests/tcg/cris/bare/check_cmpxc.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpxc.s
> rename to tests/tcg/cris/bare/check_cmpxc.s
> diff --git a/tests/tcg/cris/check_cmpxm.s b/tests/tcg/cris/bare/check_cmpxm.s
> similarity index 100%
> rename from tests/tcg/cris/check_cmpxm.s
> rename to tests/tcg/cris/bare/check_cmpxm.s
> diff --git a/tests/tcg/cris/check_dstep.s b/tests/tcg/cris/bare/check_dstep.s
> similarity index 100%
> rename from tests/tcg/cris/check_dstep.s
> rename to tests/tcg/cris/bare/check_dstep.s
> diff --git a/tests/tcg/cris/check_jsr.s b/tests/tcg/cris/bare/check_jsr.s
> similarity index 100%
> rename from tests/tcg/cris/check_jsr.s
> rename to tests/tcg/cris/bare/check_jsr.s
> diff --git a/tests/tcg/cris/check_lapc.s b/tests/tcg/cris/bare/check_lapc.s
> similarity index 100%
> rename from tests/tcg/cris/check_lapc.s
> rename to tests/tcg/cris/bare/check_lapc.s
> diff --git a/tests/tcg/cris/check_lsl.s b/tests/tcg/cris/bare/check_lsl.s
> similarity index 100%
> rename from tests/tcg/cris/check_lsl.s
> rename to tests/tcg/cris/bare/check_lsl.s
> diff --git a/tests/tcg/cris/check_lsr.s b/tests/tcg/cris/bare/check_lsr.s
> similarity index 100%
> rename from tests/tcg/cris/check_lsr.s
> rename to tests/tcg/cris/bare/check_lsr.s
> diff --git a/tests/tcg/cris/check_mcp.s b/tests/tcg/cris/bare/check_mcp.s
> similarity index 100%
> rename from tests/tcg/cris/check_mcp.s
> rename to tests/tcg/cris/bare/check_mcp.s
> diff --git a/tests/tcg/cris/check_movdelsr1.s b/tests/tcg/cris/bare/check_movdelsr1.s
> similarity index 100%
> rename from tests/tcg/cris/check_movdelsr1.s
> rename to tests/tcg/cris/bare/check_movdelsr1.s
> diff --git a/tests/tcg/cris/check_movecr.s b/tests/tcg/cris/bare/check_movecr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movecr.s
> rename to tests/tcg/cris/bare/check_movecr.s
> diff --git a/tests/tcg/cris/check_movei.s b/tests/tcg/cris/bare/check_movei.s
> similarity index 100%
> rename from tests/tcg/cris/check_movei.s
> rename to tests/tcg/cris/bare/check_movei.s
> diff --git a/tests/tcg/cris/check_movemr.s b/tests/tcg/cris/bare/check_movemr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movemr.s
> rename to tests/tcg/cris/bare/check_movemr.s
> diff --git a/tests/tcg/cris/check_movemrv32.s b/tests/tcg/cris/bare/check_movemrv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_movemrv32.s
> rename to tests/tcg/cris/bare/check_movemrv32.s
> diff --git a/tests/tcg/cris/check_mover.s b/tests/tcg/cris/bare/check_mover.s
> similarity index 100%
> rename from tests/tcg/cris/check_mover.s
> rename to tests/tcg/cris/bare/check_mover.s
> diff --git a/tests/tcg/cris/check_moverm.s b/tests/tcg/cris/bare/check_moverm.s
> similarity index 100%
> rename from tests/tcg/cris/check_moverm.s
> rename to tests/tcg/cris/bare/check_moverm.s
> diff --git a/tests/tcg/cris/check_movmp.s b/tests/tcg/cris/bare/check_movmp.s
> similarity index 100%
> rename from tests/tcg/cris/check_movmp.s
> rename to tests/tcg/cris/bare/check_movmp.s
> diff --git a/tests/tcg/cris/check_movpmv32.s b/tests/tcg/cris/bare/check_movpmv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_movpmv32.s
> rename to tests/tcg/cris/bare/check_movpmv32.s
> diff --git a/tests/tcg/cris/check_movpr.s b/tests/tcg/cris/bare/check_movpr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movpr.s
> rename to tests/tcg/cris/bare/check_movpr.s
> diff --git a/tests/tcg/cris/check_movprv32.s b/tests/tcg/cris/bare/check_movprv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_movprv32.s
> rename to tests/tcg/cris/bare/check_movprv32.s
> diff --git a/tests/tcg/cris/check_movscr.s b/tests/tcg/cris/bare/check_movscr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movscr.s
> rename to tests/tcg/cris/bare/check_movscr.s
> diff --git a/tests/tcg/cris/check_movsm.s b/tests/tcg/cris/bare/check_movsm.s
> similarity index 100%
> rename from tests/tcg/cris/check_movsm.s
> rename to tests/tcg/cris/bare/check_movsm.s
> diff --git a/tests/tcg/cris/check_movsr.s b/tests/tcg/cris/bare/check_movsr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movsr.s
> rename to tests/tcg/cris/bare/check_movsr.s
> diff --git a/tests/tcg/cris/check_movucr.s b/tests/tcg/cris/bare/check_movucr.s
> similarity index 100%
> rename from tests/tcg/cris/check_movucr.s
> rename to tests/tcg/cris/bare/check_movucr.s
> diff --git a/tests/tcg/cris/check_movum.s b/tests/tcg/cris/bare/check_movum.s
> similarity index 100%
> rename from tests/tcg/cris/check_movum.s
> rename to tests/tcg/cris/bare/check_movum.s
> diff --git a/tests/tcg/cris/check_movur.s b/tests/tcg/cris/bare/check_movur.s
> similarity index 100%
> rename from tests/tcg/cris/check_movur.s
> rename to tests/tcg/cris/bare/check_movur.s
> diff --git a/tests/tcg/cris/check_mulv32.s b/tests/tcg/cris/bare/check_mulv32.s
> similarity index 100%
> rename from tests/tcg/cris/check_mulv32.s
> rename to tests/tcg/cris/bare/check_mulv32.s
> diff --git a/tests/tcg/cris/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
> similarity index 100%
> rename from tests/tcg/cris/check_mulx.s
> rename to tests/tcg/cris/bare/check_mulx.s
> diff --git a/tests/tcg/cris/check_neg.s b/tests/tcg/cris/bare/check_neg.s
> similarity index 100%
> rename from tests/tcg/cris/check_neg.s
> rename to tests/tcg/cris/bare/check_neg.s
> diff --git a/tests/tcg/cris/check_not.s b/tests/tcg/cris/bare/check_not.s
> similarity index 100%
> rename from tests/tcg/cris/check_not.s
> rename to tests/tcg/cris/bare/check_not.s
> diff --git a/tests/tcg/cris/check_orc.s b/tests/tcg/cris/bare/check_orc.s
> similarity index 100%
> rename from tests/tcg/cris/check_orc.s
> rename to tests/tcg/cris/bare/check_orc.s
> diff --git a/tests/tcg/cris/check_orm.s b/tests/tcg/cris/bare/check_orm.s
> similarity index 100%
> rename from tests/tcg/cris/check_orm.s
> rename to tests/tcg/cris/bare/check_orm.s
> diff --git a/tests/tcg/cris/check_orq.s b/tests/tcg/cris/bare/check_orq.s
> similarity index 100%
> rename from tests/tcg/cris/check_orq.s
> rename to tests/tcg/cris/bare/check_orq.s
> diff --git a/tests/tcg/cris/check_orr.s b/tests/tcg/cris/bare/check_orr.s
> similarity index 100%
> rename from tests/tcg/cris/check_orr.s
> rename to tests/tcg/cris/bare/check_orr.s
> diff --git a/tests/tcg/cris/check_ret.s b/tests/tcg/cris/bare/check_ret.s
> similarity index 100%
> rename from tests/tcg/cris/check_ret.s
> rename to tests/tcg/cris/bare/check_ret.s
> diff --git a/tests/tcg/cris/check_scc.s b/tests/tcg/cris/bare/check_scc.s
> similarity index 100%
> rename from tests/tcg/cris/check_scc.s
> rename to tests/tcg/cris/bare/check_scc.s
> diff --git a/tests/tcg/cris/check_subc.s b/tests/tcg/cris/bare/check_subc.s
> similarity index 100%
> rename from tests/tcg/cris/check_subc.s
> rename to tests/tcg/cris/bare/check_subc.s
> diff --git a/tests/tcg/cris/check_subm.s b/tests/tcg/cris/bare/check_subm.s
> similarity index 100%
> rename from tests/tcg/cris/check_subm.s
> rename to tests/tcg/cris/bare/check_subm.s
> diff --git a/tests/tcg/cris/check_subq.s b/tests/tcg/cris/bare/check_subq.s
> similarity index 100%
> rename from tests/tcg/cris/check_subq.s
> rename to tests/tcg/cris/bare/check_subq.s
> diff --git a/tests/tcg/cris/check_subr.s b/tests/tcg/cris/bare/check_subr.s
> similarity index 100%
> rename from tests/tcg/cris/check_subr.s
> rename to tests/tcg/cris/bare/check_subr.s
> diff --git a/tests/tcg/cris/check_xarith.s b/tests/tcg/cris/bare/check_xarith.s
> similarity index 100%
> rename from tests/tcg/cris/check_xarith.s
> rename to tests/tcg/cris/bare/check_xarith.s
> diff --git a/tests/tcg/cris/crt.s b/tests/tcg/cris/bare/crt.s
> similarity index 100%
> rename from tests/tcg/cris/crt.s
> rename to tests/tcg/cris/bare/crt.s
> diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/bare/sys.c
> similarity index 100%
> rename from tests/tcg/cris/sys.c
> rename to tests/tcg/cris/bare/sys.c
> diff --git a/tests/tcg/cris/testutils.inc b/tests/tcg/cris/bare/testutils.inc
> similarity index 100%
> rename from tests/tcg/cris/testutils.inc
> rename to tests/tcg/cris/bare/testutils.inc
> diff --git a/tests/tcg/cris/check_abs.c b/tests/tcg/cris/libc/check_abs.c
> similarity index 100%
> rename from tests/tcg/cris/check_abs.c
> rename to tests/tcg/cris/libc/check_abs.c
> diff --git a/tests/tcg/cris/check_addc.c b/tests/tcg/cris/libc/check_addc.c
> similarity index 100%
> rename from tests/tcg/cris/check_addc.c
> rename to tests/tcg/cris/libc/check_addc.c
> diff --git a/tests/tcg/cris/check_addcm.c b/tests/tcg/cris/libc/check_addcm.c
> similarity index 100%
> rename from tests/tcg/cris/check_addcm.c
> rename to tests/tcg/cris/libc/check_addcm.c
> diff --git a/tests/tcg/cris/check_addo.c b/tests/tcg/cris/libc/check_addo.c
> similarity index 100%
> rename from tests/tcg/cris/check_addo.c
> rename to tests/tcg/cris/libc/check_addo.c
> diff --git a/tests/tcg/cris/check_addoq.c b/tests/tcg/cris/libc/check_addoq.c
> similarity index 100%
> rename from tests/tcg/cris/check_addoq.c
> rename to tests/tcg/cris/libc/check_addoq.c
> diff --git a/tests/tcg/cris/check_bound.c b/tests/tcg/cris/libc/check_bound.c
> similarity index 100%
> rename from tests/tcg/cris/check_bound.c
> rename to tests/tcg/cris/libc/check_bound.c
> diff --git a/tests/tcg/cris/check_ftag.c b/tests/tcg/cris/libc/check_ftag.c
> similarity index 100%
> rename from tests/tcg/cris/check_ftag.c
> rename to tests/tcg/cris/libc/check_ftag.c
> diff --git a/tests/tcg/cris/check_gcctorture_pr28634-1.c b/tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
> similarity index 100%
> rename from tests/tcg/cris/check_gcctorture_pr28634-1.c
> rename to tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
> diff --git a/tests/tcg/cris/check_gcctorture_pr28634.c b/tests/tcg/cris/libc/check_gcctorture_pr28634.c
> similarity index 100%
> rename from tests/tcg/cris/check_gcctorture_pr28634.c
> rename to tests/tcg/cris/libc/check_gcctorture_pr28634.c
> diff --git a/tests/tcg/cris/check_glibc_kernelversion.c b/tests/tcg/cris/libc/check_glibc_kernelversion.c
> similarity index 100%
> rename from tests/tcg/cris/check_glibc_kernelversion.c
> rename to tests/tcg/cris/libc/check_glibc_kernelversion.c
> diff --git a/tests/tcg/cris/check_hello.c b/tests/tcg/cris/libc/check_hello.c
> similarity index 100%
> rename from tests/tcg/cris/check_hello.c
> rename to tests/tcg/cris/libc/check_hello.c
> diff --git a/tests/tcg/cris/check_int64.c b/tests/tcg/cris/libc/check_int64.c
> similarity index 100%
> rename from tests/tcg/cris/check_int64.c
> rename to tests/tcg/cris/libc/check_int64.c
> diff --git a/tests/tcg/cris/check_lz.c b/tests/tcg/cris/libc/check_lz.c
> similarity index 100%
> rename from tests/tcg/cris/check_lz.c
> rename to tests/tcg/cris/libc/check_lz.c
> diff --git a/tests/tcg/cris/check_mapbrk.c b/tests/tcg/cris/libc/check_mapbrk.c
> similarity index 100%
> rename from tests/tcg/cris/check_mapbrk.c
> rename to tests/tcg/cris/libc/check_mapbrk.c
> diff --git a/tests/tcg/cris/check_mmap1.c b/tests/tcg/cris/libc/check_mmap1.c
> similarity index 100%
> rename from tests/tcg/cris/check_mmap1.c
> rename to tests/tcg/cris/libc/check_mmap1.c
> diff --git a/tests/tcg/cris/check_mmap2.c b/tests/tcg/cris/libc/check_mmap2.c
> similarity index 100%
> rename from tests/tcg/cris/check_mmap2.c
> rename to tests/tcg/cris/libc/check_mmap2.c
> diff --git a/tests/tcg/cris/check_mmap3.c b/tests/tcg/cris/libc/check_mmap3.c
> similarity index 100%
> rename from tests/tcg/cris/check_mmap3.c
> rename to tests/tcg/cris/libc/check_mmap3.c
> diff --git a/tests/tcg/cris/check_moveq.c b/tests/tcg/cris/libc/check_moveq.c
> similarity index 100%
> rename from tests/tcg/cris/check_moveq.c
> rename to tests/tcg/cris/libc/check_moveq.c
> diff --git a/tests/tcg/cris/check_openpf1.c b/tests/tcg/cris/libc/check_openpf1.c
> similarity index 100%
> rename from tests/tcg/cris/check_openpf1.c
> rename to tests/tcg/cris/libc/check_openpf1.c
> diff --git a/tests/tcg/cris/check_openpf2.c b/tests/tcg/cris/libc/check_openpf2.c
> similarity index 100%
> rename from tests/tcg/cris/check_openpf2.c
> rename to tests/tcg/cris/libc/check_openpf2.c
> diff --git a/tests/tcg/cris/check_openpf3.c b/tests/tcg/cris/libc/check_openpf3.c
> similarity index 100%
> rename from tests/tcg/cris/check_openpf3.c
> rename to tests/tcg/cris/libc/check_openpf3.c
> diff --git a/tests/tcg/cris/check_openpf5.c b/tests/tcg/cris/libc/check_openpf5.c
> similarity index 100%
> rename from tests/tcg/cris/check_openpf5.c
> rename to tests/tcg/cris/libc/check_openpf5.c
> diff --git a/tests/tcg/cris/check_settls1.c b/tests/tcg/cris/libc/check_settls1.c
> similarity index 100%
> rename from tests/tcg/cris/check_settls1.c
> rename to tests/tcg/cris/libc/check_settls1.c
> diff --git a/tests/tcg/cris/check_sigalrm.c b/tests/tcg/cris/libc/check_sigalrm.c
> similarity index 100%
> rename from tests/tcg/cris/check_sigalrm.c
> rename to tests/tcg/cris/libc/check_sigalrm.c
> diff --git a/tests/tcg/cris/check_stat1.c b/tests/tcg/cris/libc/check_stat1.c
> similarity index 100%
> rename from tests/tcg/cris/check_stat1.c
> rename to tests/tcg/cris/libc/check_stat1.c
> diff --git a/tests/tcg/cris/check_stat2.c b/tests/tcg/cris/libc/check_stat2.c
> similarity index 100%
> rename from tests/tcg/cris/check_stat2.c
> rename to tests/tcg/cris/libc/check_stat2.c
> diff --git a/tests/tcg/cris/check_stat3.c b/tests/tcg/cris/libc/check_stat3.c
> similarity index 100%
> rename from tests/tcg/cris/check_stat3.c
> rename to tests/tcg/cris/libc/check_stat3.c
> diff --git a/tests/tcg/cris/check_stat4.c b/tests/tcg/cris/libc/check_stat4.c
> similarity index 100%
> rename from tests/tcg/cris/check_stat4.c
> rename to tests/tcg/cris/libc/check_stat4.c
> diff --git a/tests/tcg/cris/check_swap.c b/tests/tcg/cris/libc/check_swap.c
> similarity index 100%
> rename from tests/tcg/cris/check_swap.c
> rename to tests/tcg/cris/libc/check_swap.c
> diff --git a/tests/tcg/cris/check_time2.c b/tests/tcg/cris/libc/check_time2.c
> similarity index 100%
> rename from tests/tcg/cris/check_time2.c
> rename to tests/tcg/cris/libc/check_time2.c
> diff --git a/tests/tcg/cris/crisutils.h b/tests/tcg/cris/libc/crisutils.h
> similarity index 100%
> rename from tests/tcg/cris/crisutils.h
> rename to tests/tcg/cris/libc/crisutils.h
> diff --git a/tests/tcg/cris/libc/sys.c b/tests/tcg/cris/libc/sys.c
> new file mode 100644
> index 0000000000..b8e759eee3
> --- /dev/null
> +++ b/tests/tcg/cris/libc/sys.c
> @@ -0,0 +1,58 @@
> +/*
> + * Minilib helpers functions for system test
> + */
> +
> +
... and you add a copy which doesn't include stdio/stdlib/unistd in
libc/. Don't we want the opposite? Maybe we can avoid duplicate code
having each including ../sys.inc.c.
> +void exit (int status) {
> + register unsigned int callno asm ("r9") = 1; /* NR_exit */
> + asm volatile ("break 13\n"
> + :
> + : "r" (callno)
> + : "memory" );
> + while(1);
> +}
> +
> +ssize_t write (int fd, const void *buf, size_t count) {
The CPP should complain about size_t undefined.
> + register unsigned int callno asm ("r9") = 4; /* NR_write */
> + register unsigned int r10 asm ("r10") = fd;
> + register const void *r11 asm ("r11") = buf;
> + register size_t r12 asm ("r12") = count;
> + register unsigned int r asm ("r10");
> +
> + asm volatile ("break 13\n"
> + : "=r" (r)
> + : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
> + : "memory");
> +
> + return r;
> +}
> +
> +static inline int mystrlen(char *s) {
> + int i = 0;
> + while (s[i])
> + i++;
> + return i;
> +}
> +
> +void pass(void) {
> + char s[] = "passed.\n";
> + write (1, s, sizeof (s) - 1);
> + exit (0);
> +}
> +
> +void _fail(char *reason) {
> + char s[] = "\nfailed: ";
> + int len = mystrlen(reason);
> + write (1, s, sizeof (s) - 1);
> + write (1, reason, len);
> + write (1, "\n", 1);
> +// exit (1);
> +}
> +
> +void *memset (void *s, int c, size_t n) {
> + char *p = s;
> + int i;
> + for (i = 0; i < n; i++)
> + p[i] = c;
> + return p;
> +}
> diff --git a/tests/tcg/cris/sys.h b/tests/tcg/cris/libc/sys.h
> similarity index 100%
> rename from tests/tcg/cris/sys.h
> rename to tests/tcg/cris/libc/sys.h
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories
2019-02-28 23:07 ` Philippe Mathieu-Daudé
@ 2019-02-28 23:21 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 29+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-02-28 23:21 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: edgar.iglesias, qemu-arm, jcmvbkbc
On 3/1/19 12:07 AM, Philippe Mathieu-Daudé wrote:
> Hi Alex,
>
> On 2/28/19 9:25 PM, Alex Bennée wrote:
>> Bare tests are standalone assembly tests that don't require linking to
>> any libc and hence can be built with kernel only compilers. The libc
>> tests need a compiler capable of building properly linked userspace
>> binaries. As we don't have such a cross compiler at the moment we
>> won't be building those tests.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>
>> ---
>> v2
>> - split between bare/libc instead of system/user
>> ---
>> tests/tcg/cris/{ => bare}/check_addcv17.s | 0
>> tests/tcg/cris/{ => bare}/check_addi.s | 0
>> tests/tcg/cris/{ => bare}/check_addiv32.s | 0
>> tests/tcg/cris/{ => bare}/check_addm.s | 0
>> tests/tcg/cris/{ => bare}/check_addq.s | 0
>> tests/tcg/cris/{ => bare}/check_addr.s | 0
>> tests/tcg/cris/{ => bare}/check_addxc.s | 0
>> tests/tcg/cris/{ => bare}/check_addxm.s | 0
>> tests/tcg/cris/{ => bare}/check_addxr.s | 0
>> tests/tcg/cris/{ => bare}/check_andc.s | 0
>> tests/tcg/cris/{ => bare}/check_andm.s | 0
>> tests/tcg/cris/{ => bare}/check_andq.s | 0
>> tests/tcg/cris/{ => bare}/check_andr.s | 0
>> tests/tcg/cris/{ => bare}/check_asr.s | 0
>> tests/tcg/cris/{ => bare}/check_ba.s | 0
>> tests/tcg/cris/{ => bare}/check_bas.s | 0
>> tests/tcg/cris/{ => bare}/check_bcc.s | 0
>> tests/tcg/cris/{ => bare}/check_boundc.s | 0
>> tests/tcg/cris/{ => bare}/check_boundr.s | 0
>> tests/tcg/cris/{ => bare}/check_btst.s | 0
>> tests/tcg/cris/{ => bare}/check_clearfv32.s | 0
>> tests/tcg/cris/{ => bare}/check_clrjmp1.s | 0
>> tests/tcg/cris/{ => bare}/check_cmp-2.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpc.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpm.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpq.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpr.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpxc.s | 0
>> tests/tcg/cris/{ => bare}/check_cmpxm.s | 0
>> tests/tcg/cris/{ => bare}/check_dstep.s | 0
>> tests/tcg/cris/{ => bare}/check_jsr.s | 0
>> tests/tcg/cris/{ => bare}/check_lapc.s | 0
>> tests/tcg/cris/{ => bare}/check_lsl.s | 0
>> tests/tcg/cris/{ => bare}/check_lsr.s | 0
>> tests/tcg/cris/{ => bare}/check_mcp.s | 0
>> tests/tcg/cris/{ => bare}/check_movdelsr1.s | 0
>> tests/tcg/cris/{ => bare}/check_movecr.s | 0
>> tests/tcg/cris/{ => bare}/check_movei.s | 0
>> tests/tcg/cris/{ => bare}/check_movemr.s | 0
>> tests/tcg/cris/{ => bare}/check_movemrv32.s | 0
>> tests/tcg/cris/{ => bare}/check_mover.s | 0
>> tests/tcg/cris/{ => bare}/check_moverm.s | 0
>> tests/tcg/cris/{ => bare}/check_movmp.s | 0
>> tests/tcg/cris/{ => bare}/check_movpmv32.s | 0
>> tests/tcg/cris/{ => bare}/check_movpr.s | 0
>> tests/tcg/cris/{ => bare}/check_movprv32.s | 0
>> tests/tcg/cris/{ => bare}/check_movscr.s | 0
>> tests/tcg/cris/{ => bare}/check_movsm.s | 0
>> tests/tcg/cris/{ => bare}/check_movsr.s | 0
>> tests/tcg/cris/{ => bare}/check_movucr.s | 0
>> tests/tcg/cris/{ => bare}/check_movum.s | 0
>> tests/tcg/cris/{ => bare}/check_movur.s | 0
>> tests/tcg/cris/{ => bare}/check_mulv32.s | 0
>> tests/tcg/cris/{ => bare}/check_mulx.s | 0
>> tests/tcg/cris/{ => bare}/check_neg.s | 0
>> tests/tcg/cris/{ => bare}/check_not.s | 0
>> tests/tcg/cris/{ => bare}/check_orc.s | 0
>> tests/tcg/cris/{ => bare}/check_orm.s | 0
>> tests/tcg/cris/{ => bare}/check_orq.s | 0
>> tests/tcg/cris/{ => bare}/check_orr.s | 0
>> tests/tcg/cris/{ => bare}/check_ret.s | 0
>> tests/tcg/cris/{ => bare}/check_scc.s | 0
>> tests/tcg/cris/{ => bare}/check_subc.s | 0
>> tests/tcg/cris/{ => bare}/check_subm.s | 0
>> tests/tcg/cris/{ => bare}/check_subq.s | 0
>> tests/tcg/cris/{ => bare}/check_subr.s | 0
>> tests/tcg/cris/{ => bare}/check_xarith.s | 0
>> tests/tcg/cris/{ => bare}/crt.s | 0
>> tests/tcg/cris/{ => bare}/sys.c | 0
>
> Here you move the current sys.c which includes stdio/stdlib/unistd to
> bare ...
>
>> tests/tcg/cris/{ => bare}/testutils.inc | 0
>> tests/tcg/cris/{ => libc}/check_abs.c | 0
>> tests/tcg/cris/{ => libc}/check_addc.c | 0
>> tests/tcg/cris/{ => libc}/check_addcm.c | 0
>> tests/tcg/cris/{ => libc}/check_addo.c | 0
>> tests/tcg/cris/{ => libc}/check_addoq.c | 0
>> tests/tcg/cris/{ => libc}/check_bound.c | 0
>> tests/tcg/cris/{ => libc}/check_ftag.c | 0
>> .../{ => libc}/check_gcctorture_pr28634-1.c | 0
>> .../{ => libc}/check_gcctorture_pr28634.c | 0
>> .../{ => libc}/check_glibc_kernelversion.c | 0
>> tests/tcg/cris/{ => libc}/check_hello.c | 0
>> tests/tcg/cris/{ => libc}/check_int64.c | 0
>> tests/tcg/cris/{ => libc}/check_lz.c | 0
>> tests/tcg/cris/{ => libc}/check_mapbrk.c | 0
>> tests/tcg/cris/{ => libc}/check_mmap1.c | 0
>> tests/tcg/cris/{ => libc}/check_mmap2.c | 0
>> tests/tcg/cris/{ => libc}/check_mmap3.c | 0
>> tests/tcg/cris/{ => libc}/check_moveq.c | 0
>> tests/tcg/cris/{ => libc}/check_openpf1.c | 0
>> tests/tcg/cris/{ => libc}/check_openpf2.c | 0
>> tests/tcg/cris/{ => libc}/check_openpf3.c | 0
>> tests/tcg/cris/{ => libc}/check_openpf5.c | 0
>> tests/tcg/cris/{ => libc}/check_settls1.c | 0
>> tests/tcg/cris/{ => libc}/check_sigalrm.c | 0
>> tests/tcg/cris/{ => libc}/check_stat1.c | 0
>> tests/tcg/cris/{ => libc}/check_stat2.c | 0
>> tests/tcg/cris/{ => libc}/check_stat3.c | 0
>> tests/tcg/cris/{ => libc}/check_stat4.c | 0
>> tests/tcg/cris/{ => libc}/check_swap.c | 0
>> tests/tcg/cris/{ => libc}/check_time2.c | 0
>> tests/tcg/cris/{ => libc}/crisutils.h | 0
>> tests/tcg/cris/libc/sys.c | 58 +++++++++++++++++++
>> tests/tcg/cris/{ => libc}/sys.h | 0
>> 103 files changed, 58 insertions(+)
>> rename tests/tcg/cris/{ => bare}/check_addcv17.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addi.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addiv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addq.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addxc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addxm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_addxr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_andc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_andm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_andq.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_andr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_asr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_ba.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_bas.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_bcc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_boundc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_boundr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_btst.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_clearfv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_clrjmp1.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmp-2.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpq.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpxc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_cmpxm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_dstep.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_jsr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_lapc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_lsl.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_lsr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_mcp.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movdelsr1.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movecr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movei.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movemr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movemrv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_mover.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_moverm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movmp.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movpmv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movpr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movprv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movscr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movsm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movsr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movucr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movum.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_movur.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_mulv32.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_mulx.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_neg.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_not.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_orc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_orm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_orq.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_orr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_ret.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_scc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_subc.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_subm.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_subq.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_subr.s (100%)
>> rename tests/tcg/cris/{ => bare}/check_xarith.s (100%)
>> rename tests/tcg/cris/{ => bare}/crt.s (100%)
>> rename tests/tcg/cris/{ => bare}/sys.c (100%)
>> rename tests/tcg/cris/{ => bare}/testutils.inc (100%)
>> rename tests/tcg/cris/{ => libc}/check_abs.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_addc.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_addcm.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_addo.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_addoq.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_bound.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_ftag.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634-1.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_glibc_kernelversion.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_hello.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_int64.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_lz.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_mapbrk.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_mmap1.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_mmap2.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_mmap3.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_moveq.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_openpf1.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_openpf2.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_openpf3.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_openpf5.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_settls1.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_sigalrm.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_stat1.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_stat2.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_stat3.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_stat4.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_swap.c (100%)
>> rename tests/tcg/cris/{ => libc}/check_time2.c (100%)
>> rename tests/tcg/cris/{ => libc}/crisutils.h (100%)
>> create mode 100644 tests/tcg/cris/libc/sys.c
>> rename tests/tcg/cris/{ => libc}/sys.h (100%)
>>
>> diff --git a/tests/tcg/cris/check_addcv17.s b/tests/tcg/cris/bare/check_addcv17.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addcv17.s
>> rename to tests/tcg/cris/bare/check_addcv17.s
>> diff --git a/tests/tcg/cris/check_addi.s b/tests/tcg/cris/bare/check_addi.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addi.s
>> rename to tests/tcg/cris/bare/check_addi.s
>> diff --git a/tests/tcg/cris/check_addiv32.s b/tests/tcg/cris/bare/check_addiv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addiv32.s
>> rename to tests/tcg/cris/bare/check_addiv32.s
>> diff --git a/tests/tcg/cris/check_addm.s b/tests/tcg/cris/bare/check_addm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addm.s
>> rename to tests/tcg/cris/bare/check_addm.s
>> diff --git a/tests/tcg/cris/check_addq.s b/tests/tcg/cris/bare/check_addq.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addq.s
>> rename to tests/tcg/cris/bare/check_addq.s
>> diff --git a/tests/tcg/cris/check_addr.s b/tests/tcg/cris/bare/check_addr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addr.s
>> rename to tests/tcg/cris/bare/check_addr.s
>> diff --git a/tests/tcg/cris/check_addxc.s b/tests/tcg/cris/bare/check_addxc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addxc.s
>> rename to tests/tcg/cris/bare/check_addxc.s
>> diff --git a/tests/tcg/cris/check_addxm.s b/tests/tcg/cris/bare/check_addxm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addxm.s
>> rename to tests/tcg/cris/bare/check_addxm.s
>> diff --git a/tests/tcg/cris/check_addxr.s b/tests/tcg/cris/bare/check_addxr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_addxr.s
>> rename to tests/tcg/cris/bare/check_addxr.s
>> diff --git a/tests/tcg/cris/check_andc.s b/tests/tcg/cris/bare/check_andc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_andc.s
>> rename to tests/tcg/cris/bare/check_andc.s
>> diff --git a/tests/tcg/cris/check_andm.s b/tests/tcg/cris/bare/check_andm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_andm.s
>> rename to tests/tcg/cris/bare/check_andm.s
>> diff --git a/tests/tcg/cris/check_andq.s b/tests/tcg/cris/bare/check_andq.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_andq.s
>> rename to tests/tcg/cris/bare/check_andq.s
>> diff --git a/tests/tcg/cris/check_andr.s b/tests/tcg/cris/bare/check_andr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_andr.s
>> rename to tests/tcg/cris/bare/check_andr.s
>> diff --git a/tests/tcg/cris/check_asr.s b/tests/tcg/cris/bare/check_asr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_asr.s
>> rename to tests/tcg/cris/bare/check_asr.s
>> diff --git a/tests/tcg/cris/check_ba.s b/tests/tcg/cris/bare/check_ba.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_ba.s
>> rename to tests/tcg/cris/bare/check_ba.s
>> diff --git a/tests/tcg/cris/check_bas.s b/tests/tcg/cris/bare/check_bas.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_bas.s
>> rename to tests/tcg/cris/bare/check_bas.s
>> diff --git a/tests/tcg/cris/check_bcc.s b/tests/tcg/cris/bare/check_bcc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_bcc.s
>> rename to tests/tcg/cris/bare/check_bcc.s
>> diff --git a/tests/tcg/cris/check_boundc.s b/tests/tcg/cris/bare/check_boundc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_boundc.s
>> rename to tests/tcg/cris/bare/check_boundc.s
>> diff --git a/tests/tcg/cris/check_boundr.s b/tests/tcg/cris/bare/check_boundr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_boundr.s
>> rename to tests/tcg/cris/bare/check_boundr.s
>> diff --git a/tests/tcg/cris/check_btst.s b/tests/tcg/cris/bare/check_btst.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_btst.s
>> rename to tests/tcg/cris/bare/check_btst.s
>> diff --git a/tests/tcg/cris/check_clearfv32.s b/tests/tcg/cris/bare/check_clearfv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_clearfv32.s
>> rename to tests/tcg/cris/bare/check_clearfv32.s
>> diff --git a/tests/tcg/cris/check_clrjmp1.s b/tests/tcg/cris/bare/check_clrjmp1.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_clrjmp1.s
>> rename to tests/tcg/cris/bare/check_clrjmp1.s
>> diff --git a/tests/tcg/cris/check_cmp-2.s b/tests/tcg/cris/bare/check_cmp-2.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmp-2.s
>> rename to tests/tcg/cris/bare/check_cmp-2.s
>> diff --git a/tests/tcg/cris/check_cmpc.s b/tests/tcg/cris/bare/check_cmpc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpc.s
>> rename to tests/tcg/cris/bare/check_cmpc.s
>> diff --git a/tests/tcg/cris/check_cmpm.s b/tests/tcg/cris/bare/check_cmpm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpm.s
>> rename to tests/tcg/cris/bare/check_cmpm.s
>> diff --git a/tests/tcg/cris/check_cmpq.s b/tests/tcg/cris/bare/check_cmpq.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpq.s
>> rename to tests/tcg/cris/bare/check_cmpq.s
>> diff --git a/tests/tcg/cris/check_cmpr.s b/tests/tcg/cris/bare/check_cmpr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpr.s
>> rename to tests/tcg/cris/bare/check_cmpr.s
>> diff --git a/tests/tcg/cris/check_cmpxc.s b/tests/tcg/cris/bare/check_cmpxc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpxc.s
>> rename to tests/tcg/cris/bare/check_cmpxc.s
>> diff --git a/tests/tcg/cris/check_cmpxm.s b/tests/tcg/cris/bare/check_cmpxm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_cmpxm.s
>> rename to tests/tcg/cris/bare/check_cmpxm.s
>> diff --git a/tests/tcg/cris/check_dstep.s b/tests/tcg/cris/bare/check_dstep.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_dstep.s
>> rename to tests/tcg/cris/bare/check_dstep.s
>> diff --git a/tests/tcg/cris/check_jsr.s b/tests/tcg/cris/bare/check_jsr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_jsr.s
>> rename to tests/tcg/cris/bare/check_jsr.s
>> diff --git a/tests/tcg/cris/check_lapc.s b/tests/tcg/cris/bare/check_lapc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_lapc.s
>> rename to tests/tcg/cris/bare/check_lapc.s
>> diff --git a/tests/tcg/cris/check_lsl.s b/tests/tcg/cris/bare/check_lsl.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_lsl.s
>> rename to tests/tcg/cris/bare/check_lsl.s
>> diff --git a/tests/tcg/cris/check_lsr.s b/tests/tcg/cris/bare/check_lsr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_lsr.s
>> rename to tests/tcg/cris/bare/check_lsr.s
>> diff --git a/tests/tcg/cris/check_mcp.s b/tests/tcg/cris/bare/check_mcp.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_mcp.s
>> rename to tests/tcg/cris/bare/check_mcp.s
>> diff --git a/tests/tcg/cris/check_movdelsr1.s b/tests/tcg/cris/bare/check_movdelsr1.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movdelsr1.s
>> rename to tests/tcg/cris/bare/check_movdelsr1.s
>> diff --git a/tests/tcg/cris/check_movecr.s b/tests/tcg/cris/bare/check_movecr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movecr.s
>> rename to tests/tcg/cris/bare/check_movecr.s
>> diff --git a/tests/tcg/cris/check_movei.s b/tests/tcg/cris/bare/check_movei.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movei.s
>> rename to tests/tcg/cris/bare/check_movei.s
>> diff --git a/tests/tcg/cris/check_movemr.s b/tests/tcg/cris/bare/check_movemr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movemr.s
>> rename to tests/tcg/cris/bare/check_movemr.s
>> diff --git a/tests/tcg/cris/check_movemrv32.s b/tests/tcg/cris/bare/check_movemrv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movemrv32.s
>> rename to tests/tcg/cris/bare/check_movemrv32.s
>> diff --git a/tests/tcg/cris/check_mover.s b/tests/tcg/cris/bare/check_mover.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_mover.s
>> rename to tests/tcg/cris/bare/check_mover.s
>> diff --git a/tests/tcg/cris/check_moverm.s b/tests/tcg/cris/bare/check_moverm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_moverm.s
>> rename to tests/tcg/cris/bare/check_moverm.s
>> diff --git a/tests/tcg/cris/check_movmp.s b/tests/tcg/cris/bare/check_movmp.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movmp.s
>> rename to tests/tcg/cris/bare/check_movmp.s
>> diff --git a/tests/tcg/cris/check_movpmv32.s b/tests/tcg/cris/bare/check_movpmv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movpmv32.s
>> rename to tests/tcg/cris/bare/check_movpmv32.s
>> diff --git a/tests/tcg/cris/check_movpr.s b/tests/tcg/cris/bare/check_movpr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movpr.s
>> rename to tests/tcg/cris/bare/check_movpr.s
>> diff --git a/tests/tcg/cris/check_movprv32.s b/tests/tcg/cris/bare/check_movprv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movprv32.s
>> rename to tests/tcg/cris/bare/check_movprv32.s
>> diff --git a/tests/tcg/cris/check_movscr.s b/tests/tcg/cris/bare/check_movscr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movscr.s
>> rename to tests/tcg/cris/bare/check_movscr.s
>> diff --git a/tests/tcg/cris/check_movsm.s b/tests/tcg/cris/bare/check_movsm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movsm.s
>> rename to tests/tcg/cris/bare/check_movsm.s
>> diff --git a/tests/tcg/cris/check_movsr.s b/tests/tcg/cris/bare/check_movsr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movsr.s
>> rename to tests/tcg/cris/bare/check_movsr.s
>> diff --git a/tests/tcg/cris/check_movucr.s b/tests/tcg/cris/bare/check_movucr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movucr.s
>> rename to tests/tcg/cris/bare/check_movucr.s
>> diff --git a/tests/tcg/cris/check_movum.s b/tests/tcg/cris/bare/check_movum.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movum.s
>> rename to tests/tcg/cris/bare/check_movum.s
>> diff --git a/tests/tcg/cris/check_movur.s b/tests/tcg/cris/bare/check_movur.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_movur.s
>> rename to tests/tcg/cris/bare/check_movur.s
>> diff --git a/tests/tcg/cris/check_mulv32.s b/tests/tcg/cris/bare/check_mulv32.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_mulv32.s
>> rename to tests/tcg/cris/bare/check_mulv32.s
>> diff --git a/tests/tcg/cris/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_mulx.s
>> rename to tests/tcg/cris/bare/check_mulx.s
>> diff --git a/tests/tcg/cris/check_neg.s b/tests/tcg/cris/bare/check_neg.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_neg.s
>> rename to tests/tcg/cris/bare/check_neg.s
>> diff --git a/tests/tcg/cris/check_not.s b/tests/tcg/cris/bare/check_not.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_not.s
>> rename to tests/tcg/cris/bare/check_not.s
>> diff --git a/tests/tcg/cris/check_orc.s b/tests/tcg/cris/bare/check_orc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_orc.s
>> rename to tests/tcg/cris/bare/check_orc.s
>> diff --git a/tests/tcg/cris/check_orm.s b/tests/tcg/cris/bare/check_orm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_orm.s
>> rename to tests/tcg/cris/bare/check_orm.s
>> diff --git a/tests/tcg/cris/check_orq.s b/tests/tcg/cris/bare/check_orq.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_orq.s
>> rename to tests/tcg/cris/bare/check_orq.s
>> diff --git a/tests/tcg/cris/check_orr.s b/tests/tcg/cris/bare/check_orr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_orr.s
>> rename to tests/tcg/cris/bare/check_orr.s
>> diff --git a/tests/tcg/cris/check_ret.s b/tests/tcg/cris/bare/check_ret.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_ret.s
>> rename to tests/tcg/cris/bare/check_ret.s
>> diff --git a/tests/tcg/cris/check_scc.s b/tests/tcg/cris/bare/check_scc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_scc.s
>> rename to tests/tcg/cris/bare/check_scc.s
>> diff --git a/tests/tcg/cris/check_subc.s b/tests/tcg/cris/bare/check_subc.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_subc.s
>> rename to tests/tcg/cris/bare/check_subc.s
>> diff --git a/tests/tcg/cris/check_subm.s b/tests/tcg/cris/bare/check_subm.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_subm.s
>> rename to tests/tcg/cris/bare/check_subm.s
>> diff --git a/tests/tcg/cris/check_subq.s b/tests/tcg/cris/bare/check_subq.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_subq.s
>> rename to tests/tcg/cris/bare/check_subq.s
>> diff --git a/tests/tcg/cris/check_subr.s b/tests/tcg/cris/bare/check_subr.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_subr.s
>> rename to tests/tcg/cris/bare/check_subr.s
>> diff --git a/tests/tcg/cris/check_xarith.s b/tests/tcg/cris/bare/check_xarith.s
>> similarity index 100%
>> rename from tests/tcg/cris/check_xarith.s
>> rename to tests/tcg/cris/bare/check_xarith.s
>> diff --git a/tests/tcg/cris/crt.s b/tests/tcg/cris/bare/crt.s
>> similarity index 100%
>> rename from tests/tcg/cris/crt.s
>> rename to tests/tcg/cris/bare/crt.s
>> diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/bare/sys.c
>> similarity index 100%
>> rename from tests/tcg/cris/sys.c
>> rename to tests/tcg/cris/bare/sys.c
>> diff --git a/tests/tcg/cris/testutils.inc b/tests/tcg/cris/bare/testutils.inc
>> similarity index 100%
>> rename from tests/tcg/cris/testutils.inc
>> rename to tests/tcg/cris/bare/testutils.inc
>> diff --git a/tests/tcg/cris/check_abs.c b/tests/tcg/cris/libc/check_abs.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_abs.c
>> rename to tests/tcg/cris/libc/check_abs.c
>> diff --git a/tests/tcg/cris/check_addc.c b/tests/tcg/cris/libc/check_addc.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_addc.c
>> rename to tests/tcg/cris/libc/check_addc.c
>> diff --git a/tests/tcg/cris/check_addcm.c b/tests/tcg/cris/libc/check_addcm.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_addcm.c
>> rename to tests/tcg/cris/libc/check_addcm.c
>> diff --git a/tests/tcg/cris/check_addo.c b/tests/tcg/cris/libc/check_addo.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_addo.c
>> rename to tests/tcg/cris/libc/check_addo.c
>> diff --git a/tests/tcg/cris/check_addoq.c b/tests/tcg/cris/libc/check_addoq.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_addoq.c
>> rename to tests/tcg/cris/libc/check_addoq.c
>> diff --git a/tests/tcg/cris/check_bound.c b/tests/tcg/cris/libc/check_bound.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_bound.c
>> rename to tests/tcg/cris/libc/check_bound.c
>> diff --git a/tests/tcg/cris/check_ftag.c b/tests/tcg/cris/libc/check_ftag.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_ftag.c
>> rename to tests/tcg/cris/libc/check_ftag.c
>> diff --git a/tests/tcg/cris/check_gcctorture_pr28634-1.c b/tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_gcctorture_pr28634-1.c
>> rename to tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
>> diff --git a/tests/tcg/cris/check_gcctorture_pr28634.c b/tests/tcg/cris/libc/check_gcctorture_pr28634.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_gcctorture_pr28634.c
>> rename to tests/tcg/cris/libc/check_gcctorture_pr28634.c
>> diff --git a/tests/tcg/cris/check_glibc_kernelversion.c b/tests/tcg/cris/libc/check_glibc_kernelversion.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_glibc_kernelversion.c
>> rename to tests/tcg/cris/libc/check_glibc_kernelversion.c
>> diff --git a/tests/tcg/cris/check_hello.c b/tests/tcg/cris/libc/check_hello.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_hello.c
>> rename to tests/tcg/cris/libc/check_hello.c
>> diff --git a/tests/tcg/cris/check_int64.c b/tests/tcg/cris/libc/check_int64.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_int64.c
>> rename to tests/tcg/cris/libc/check_int64.c
>> diff --git a/tests/tcg/cris/check_lz.c b/tests/tcg/cris/libc/check_lz.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_lz.c
>> rename to tests/tcg/cris/libc/check_lz.c
>> diff --git a/tests/tcg/cris/check_mapbrk.c b/tests/tcg/cris/libc/check_mapbrk.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_mapbrk.c
>> rename to tests/tcg/cris/libc/check_mapbrk.c
>> diff --git a/tests/tcg/cris/check_mmap1.c b/tests/tcg/cris/libc/check_mmap1.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_mmap1.c
>> rename to tests/tcg/cris/libc/check_mmap1.c
>> diff --git a/tests/tcg/cris/check_mmap2.c b/tests/tcg/cris/libc/check_mmap2.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_mmap2.c
>> rename to tests/tcg/cris/libc/check_mmap2.c
>> diff --git a/tests/tcg/cris/check_mmap3.c b/tests/tcg/cris/libc/check_mmap3.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_mmap3.c
>> rename to tests/tcg/cris/libc/check_mmap3.c
>> diff --git a/tests/tcg/cris/check_moveq.c b/tests/tcg/cris/libc/check_moveq.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_moveq.c
>> rename to tests/tcg/cris/libc/check_moveq.c
>> diff --git a/tests/tcg/cris/check_openpf1.c b/tests/tcg/cris/libc/check_openpf1.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_openpf1.c
>> rename to tests/tcg/cris/libc/check_openpf1.c
>> diff --git a/tests/tcg/cris/check_openpf2.c b/tests/tcg/cris/libc/check_openpf2.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_openpf2.c
>> rename to tests/tcg/cris/libc/check_openpf2.c
>> diff --git a/tests/tcg/cris/check_openpf3.c b/tests/tcg/cris/libc/check_openpf3.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_openpf3.c
>> rename to tests/tcg/cris/libc/check_openpf3.c
>> diff --git a/tests/tcg/cris/check_openpf5.c b/tests/tcg/cris/libc/check_openpf5.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_openpf5.c
>> rename to tests/tcg/cris/libc/check_openpf5.c
>> diff --git a/tests/tcg/cris/check_settls1.c b/tests/tcg/cris/libc/check_settls1.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_settls1.c
>> rename to tests/tcg/cris/libc/check_settls1.c
>> diff --git a/tests/tcg/cris/check_sigalrm.c b/tests/tcg/cris/libc/check_sigalrm.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_sigalrm.c
>> rename to tests/tcg/cris/libc/check_sigalrm.c
>> diff --git a/tests/tcg/cris/check_stat1.c b/tests/tcg/cris/libc/check_stat1.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_stat1.c
>> rename to tests/tcg/cris/libc/check_stat1.c
>> diff --git a/tests/tcg/cris/check_stat2.c b/tests/tcg/cris/libc/check_stat2.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_stat2.c
>> rename to tests/tcg/cris/libc/check_stat2.c
>> diff --git a/tests/tcg/cris/check_stat3.c b/tests/tcg/cris/libc/check_stat3.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_stat3.c
>> rename to tests/tcg/cris/libc/check_stat3.c
>> diff --git a/tests/tcg/cris/check_stat4.c b/tests/tcg/cris/libc/check_stat4.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_stat4.c
>> rename to tests/tcg/cris/libc/check_stat4.c
>> diff --git a/tests/tcg/cris/check_swap.c b/tests/tcg/cris/libc/check_swap.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_swap.c
>> rename to tests/tcg/cris/libc/check_swap.c
>> diff --git a/tests/tcg/cris/check_time2.c b/tests/tcg/cris/libc/check_time2.c
>> similarity index 100%
>> rename from tests/tcg/cris/check_time2.c
>> rename to tests/tcg/cris/libc/check_time2.c
>> diff --git a/tests/tcg/cris/crisutils.h b/tests/tcg/cris/libc/crisutils.h
>> similarity index 100%
>> rename from tests/tcg/cris/crisutils.h
>> rename to tests/tcg/cris/libc/crisutils.h
>> diff --git a/tests/tcg/cris/libc/sys.c b/tests/tcg/cris/libc/sys.c
>> new file mode 100644
>> index 0000000000..b8e759eee3
>> --- /dev/null
>> +++ b/tests/tcg/cris/libc/sys.c
>> @@ -0,0 +1,58 @@
>> +/*
>> + * Minilib helpers functions for system test
>> + */
>> +
>> +
>
> ... and you add a copy which doesn't include stdio/stdlib/unistd in
> libc/. Don't we want the opposite? Maybe we can avoid duplicate code
> having each including ../sys.inc.c.
Now I see your next patch...
Is it possible to invert them, first clean sys.c up, then move the files?
>
>> +void exit (int status) {
>> + register unsigned int callno asm ("r9") = 1; /* NR_exit */
>> + asm volatile ("break 13\n"
>> + :
>> + : "r" (callno)
>> + : "memory" );
>> + while(1);
>> +}
>> +
>> +ssize_t write (int fd, const void *buf, size_t count) {
>
> The CPP should complain about size_t undefined.
You #include <stddef.h> in the text patch :)
>
>> + register unsigned int callno asm ("r9") = 4; /* NR_write */
>> + register unsigned int r10 asm ("r10") = fd;
>> + register const void *r11 asm ("r11") = buf;
>> + register size_t r12 asm ("r12") = count;
>> + register unsigned int r asm ("r10");
>> +
>> + asm volatile ("break 13\n"
>> + : "=r" (r)
>> + : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
>> + : "memory");
>> +
>> + return r;
>> +}
>> +
>> +static inline int mystrlen(char *s) {
>> + int i = 0;
>> + while (s[i])
>> + i++;
>> + return i;
>> +}
>> +
>> +void pass(void) {
>> + char s[] = "passed.\n";
>> + write (1, s, sizeof (s) - 1);
>> + exit (0);
>> +}
>> +
>> +void _fail(char *reason) {
>> + char s[] = "\nfailed: ";
>> + int len = mystrlen(reason);
>> + write (1, s, sizeof (s) - 1);
>> + write (1, reason, len);
>> + write (1, "\n", 1);
>> +// exit (1);
>> +}
>> +
>> +void *memset (void *s, int c, size_t n) {
>> + char *p = s;
>> + int i;
>> + for (i = 0; i < n; i++)
>> + p[i] = c;
>> + return p;
>> +}
>> diff --git a/tests/tcg/cris/sys.h b/tests/tcg/cris/libc/sys.h
>> similarity index 100%
>> rename from tests/tcg/cris/sys.h
>> rename to tests/tcg/cris/libc/sys.h
>>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 11/16] tests/tcg/cris: cleanup sys.c
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (9 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 10/16] tests/tcg: split cris tests into bare and libc directories Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 12/16] tests/tcg/cris: comment out the ccs test Alex Bennée
` (5 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
This is a mini library which provides helper functions to the tests
which are all currently written in assembly. A bunch of minor changes:
- removed libc related headers (fedora-cris-cross is a system compiler)
- re-organised the functions to avoid forward declarations
- cleaned up brace usage
- restored exit for _fail case
- removed tabs and fixed indentation
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/cris/bare/sys.c | 96 +++++++++++++++++++--------------------
tests/tcg/cris/libc/sys.c | 23 ++++++----
2 files changed, 62 insertions(+), 57 deletions(-)
diff --git a/tests/tcg/cris/bare/sys.c b/tests/tcg/cris/bare/sys.c
index 21f08c0747..aa342335d6 100644
--- a/tests/tcg/cris/bare/sys.c
+++ b/tests/tcg/cris/bare/sys.c
@@ -1,59 +1,59 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-static inline int mystrlen(char *s) {
- int i = 0;
- while (s[i])
- i++;
- return i;
+/*
+ * Helper functions for CRIS system tests
+ *
+ * There is no libc and only a limited set of headers.
+ */
+
+#include <stddef.h>
+
+void exit(int status)
+{
+ register unsigned int callno asm ("r9") = 1; /* NR_exit */
+
+ asm volatile ("break 13\n"
+ : /* no outputs */
+ : "r" (callno)
+ : "memory" );
+ while(1);
}
-void pass(void) {
- char s[] = "passed.\n";
- write (1, s, sizeof (s) - 1);
- exit (0);
-}
+size_t write(int fd, const void *buf, size_t count)
+{
+ register unsigned int callno asm ("r9") = 4; /* NR_write */
+ register unsigned int r10 asm ("r10") = fd;
+ register const void *r11 asm ("r11") = buf;
+ register size_t r12 asm ("r12") = count;
+ register unsigned int r asm ("r10");
-void _fail(char *reason) {
- char s[] = "\nfailed: ";
- int len = mystrlen(reason);
- write (1, s, sizeof (s) - 1);
- write (1, reason, len);
- write (1, "\n", 1);
-// exit (1);
-}
+ asm volatile ("break 13\n"
+ : "=r" (r)
+ : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
+ : "memory");
-void *memset (void *s, int c, size_t n) {
- char *p = s;
- int i;
- for (i = 0; i < n; i++)
- p[i] = c;
- return p;
+ return r;
}
-void exit (int status) {
- register unsigned int callno asm ("r9") = 1; /* NR_exit */
-
- asm volatile ("break 13\n"
- :
- : "r" (callno)
- : "memory" );
- while(1)
- ;
+static inline int mystrlen(char *s)
+{
+ int i = 0;
+ while (s[i]) {
+ i++;
+ }
+ return i;
}
-ssize_t write (int fd, const void *buf, size_t count) {
- register unsigned int callno asm ("r9") = 4; /* NR_write */
- register unsigned int r10 asm ("r10") = fd;
- register const void *r11 asm ("r11") = buf;
- register size_t r12 asm ("r12") = count;
- register unsigned int r asm ("r10");
- asm volatile ("break 13\n"
- : "=r" (r)
- : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
- : "memory");
+void pass(void) {
+ char s[] = "passed.\n";
+ write(1, s, sizeof (s) - 1);
+ exit(0);
+}
- return r;
+void _fail(char *reason) {
+ char s[] = "\nfailed: ";
+ int len = mystrlen(reason);
+ write(1, s, sizeof (s) - 1);
+ write(1, reason, len);
+ write(1, "\n", 1);
+ exit(1);
}
diff --git a/tests/tcg/cris/libc/sys.c b/tests/tcg/cris/libc/sys.c
index b8e759eee3..6ec4e77b22 100644
--- a/tests/tcg/cris/libc/sys.c
+++ b/tests/tcg/cris/libc/sys.c
@@ -3,16 +3,18 @@
*/
-void exit (int status) {
+void exit(int status)
+{
register unsigned int callno asm ("r9") = 1; /* NR_exit */
asm volatile ("break 13\n"
:
: "r" (callno)
- : "memory" );
+ : "memory");
while(1);
}
-ssize_t write (int fd, const void *buf, size_t count) {
+ssize_t write(int fd, const void *buf, size_t count)
+{
register unsigned int callno asm ("r9") = 4; /* NR_write */
register unsigned int r10 asm ("r10") = fd;
register const void *r11 asm ("r11") = buf;
@@ -27,29 +29,32 @@ ssize_t write (int fd, const void *buf, size_t count) {
return r;
}
-static inline int mystrlen(char *s) {
+static inline int mystrlen(char *s)
+{
int i = 0;
while (s[i])
i++;
return i;
}
-void pass(void) {
+void pass(void)
+{
char s[] = "passed.\n";
- write (1, s, sizeof (s) - 1);
+ write (1, s, sizeof(s) - 1);
exit (0);
}
-void _fail(char *reason) {
+void _fail(char *reason)
+{
char s[] = "\nfailed: ";
int len = mystrlen(reason);
write (1, s, sizeof (s) - 1);
write (1, reason, len);
write (1, "\n", 1);
-// exit (1);
}
-void *memset (void *s, int c, size_t n) {
+void *memset(void *s, int c, size_t n)
+{
char *p = s;
int i;
for (i = 0; i < n; i++)
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 12/16] tests/tcg/cris: comment out the ccs test
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (10 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 11/16] tests/tcg/cris: cleanup sys.c Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 13/16] tests/tcg/cris: align mul operations Alex Bennée
` (4 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
Evidently upstream gcc doesn't like this opcode.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/cris/bare/check_btst.s | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/tests/tcg/cris/bare/check_btst.s b/tests/tcg/cris/bare/check_btst.s
index e39fc8f4d6..485deb2006 100644
--- a/tests/tcg/cris/bare/check_btst.s
+++ b/tests/tcg/cris/bare/check_btst.s
@@ -85,12 +85,12 @@
checkr3 1111
; check that X gets cleared and that only the NZ flags are touched.
- move.d 0xff, $r0
- move $r0, $ccs
- btst r3,r3
- move $ccs, $r0
- and.d 0xff, $r0
- cmp.d 0xe3, $r0
- test_cc 0 1 0 0
+ ;; move.d 0xff, $r0
+ ;; move $r0, $ccs
+ ;; btst r3,r3
+ ;; move $ccs, $r0
+ ;; and.d 0xff, $r0
+ ;; cmp.d 0xe3, $r0
+ ;; test_cc 0 1 0 0
quit
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 13/16] tests/tcg/cris: align mul operations
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (11 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 12/16] tests/tcg/cris: comment out the ccs test Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 14/16] tests/tcg: enable cris base user-mode tests Alex Bennée
` (3 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
To avoid:
Error: dangerous MULS/MULU location; give it higher alignment
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/cris/bare/check_mulx.s | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tests/tcg/cris/bare/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
index d43241a6f5..a7a1f82a82 100644
--- a/tests/tcg/cris/bare/check_mulx.s
+++ b/tests/tcg/cris/bare/check_mulx.s
@@ -3,6 +3,8 @@
.include "testutils.inc"
start
+
+ .align 4
moveq -1,r3
moveq 2,r4
muls.d r4,r3
@@ -11,6 +13,7 @@
move mof,r3
checkr3 ffffffff
+ .align 4
moveq -1,r3
moveq 2,r4
mulu.d r4,r3
@@ -19,6 +22,7 @@
move mof,r3
checkr3 1
+ .align 4
moveq 2,r3
moveq -1,r4
muls.d r4,r3
@@ -27,6 +31,7 @@
move mof,r3
checkr3 ffffffff
+ .align 4
moveq 2,r3
moveq -1,r4
mulu.d r4,r3
@@ -98,6 +103,7 @@
checkr3 1fffe
move mof,r3
checkr3 0
+ nop
moveq 2,r3
move.d 0xffff,r4
@@ -138,6 +144,7 @@
checkr3 fdbdade2
move mof,r3
checkr3 ffffffff
+ nop
move.d 0x5432f789,r4
move.d 0x78134452,r3
@@ -146,6 +153,7 @@
checkr3 420fade2
move mof,r3
checkr3 0
+ nop
move.d 0xff,r3
moveq 2,r4
@@ -186,6 +194,7 @@
checkr3 1
move mof,r3
checkr3 0
+ nop
moveq -1,r4
move.d r4,r3
@@ -194,6 +203,7 @@
checkr3 fe01
move mof,r3
checkr3 0
+ nop
move.d 0xfeda49ff,r4
move.d r4,r3
@@ -202,6 +212,7 @@
checkr3 1
move mof,r3
checkr3 0
+ nop
move.d 0xfeda49ff,r4
move.d r4,r3
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 14/16] tests/tcg: enable cris base user-mode tests
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (12 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 13/16] tests/tcg/cris: align mul operations Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 15/16] .travis.yml: separate softfloat from check-tcg Alex Bennée
` (2 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
This converts the existing Makefile into a Makefile.target and updates
it so it can be called by the tcg build system. The original Makefile
didn't set -cpu except for the v17 tests however that has broken (I
assume because linux-user is a "max" cpu) so here I force it to be
crisv17.
I've also replicated the GNU simulator targets (run-FOO-on-sim).
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/docker/Makefile.include | 1 +
tests/tcg/cris/Makefile | 168 --------------------------------
tests/tcg/cris/Makefile.include | 6 ++
tests/tcg/cris/Makefile.target | 58 +++++++++++
4 files changed, 65 insertions(+), 168 deletions(-)
delete mode 100644 tests/tcg/cris/Makefile
create mode 100644 tests/tcg/cris/Makefile.include
create mode 100644 tests/tcg/cris/Makefile.target
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 83d43c50e4..60314d293a 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -116,6 +116,7 @@ docker-image-tricore-cross: docker-image-debian9
DOCKER_PARTIAL_IMAGES += debian-alpha-cross debian-hppa-cross debian-m68k-cross debian-sh4-cross
DOCKER_PARTIAL_IMAGES += debian-sparc64-cross debian-mips64-cross debian-riscv64-cross
DOCKER_PARTIAL_IMAGES += debian-tricore-cross debian-powerpc-cross fedora-i386-cross
+DOCKER_PARTIAL_IMAGES += fedora-cris-cross
# Rules for building linux-user powered images
#
diff --git a/tests/tcg/cris/Makefile b/tests/tcg/cris/Makefile
deleted file mode 100644
index 664b30ce81..0000000000
--- a/tests/tcg/cris/Makefile
+++ /dev/null
@@ -1,168 +0,0 @@
--include ../../../config-host.mak
-
-CROSS=crisv32-axis-linux-gnu-
-SIM=../../../cris-linux-user/qemu-cris -L ./
-SIMG=cris-axis-linux-gnu-run --sysroot=./
-
-CC = $(CROSS)gcc
-#AS = $(CROSS)as
-AS = $(CC) -x assembler-with-cpp
-SIZE = $(CROSS)size
-LD = $(CC)
-OBJCOPY = $(CROSS)objcopy
-
-# we rely on GCC inline:ing the stuff we tell it to in many places here.
-CFLAGS = -Winline -Wall -g -O2 -static
-NOSTDFLAGS = -nostartfiles -nostdlib
-ASFLAGS += -g -Wa,-I,$(SRC_PATH)/tests/tcg/cris/
-LDLIBS =
-NOSTDLIBS = -lgcc
-
-CRT = crt.o
-SYS = sys.o
-TESTCASES += check_abs.tst
-TESTCASES += check_addc.tst
-TESTCASES += check_addcm.tst
-TESTCASES += check_addcv17.tst
-TESTCASES += check_addo.tst
-TESTCASES += check_addoq.tst
-TESTCASES += check_addi.tst
-TESTCASES += check_addiv32.tst
-TESTCASES += check_addm.tst
-TESTCASES += check_addr.tst
-TESTCASES += check_addq.tst
-TESTCASES += check_addxc.tst
-TESTCASES += check_addxm.tst
-TESTCASES += check_addxr.tst
-TESTCASES += check_andc.tst
-TESTCASES += check_andm.tst
-TESTCASES += check_andr.tst
-TESTCASES += check_andq.tst
-TESTCASES += check_asr.tst
-TESTCASES += check_ba.tst
-TESTCASES += check_bas.tst
-TESTCASES += check_bcc.tst
-TESTCASES += check_bound.tst
-TESTCASES += check_boundc.tst
-TESTCASES += check_boundr.tst
-TESTCASES += check_btst.tst
-TESTCASES += check_clearfv32.tst
-TESTCASES += check_cmpc.tst
-TESTCASES += check_cmpr.tst
-TESTCASES += check_cmpq.tst
-TESTCASES += check_cmpm.tst
-TESTCASES += check_cmpxc.tst
-TESTCASES += check_cmpxm.tst
-TESTCASES += check_cmp-2.tst
-TESTCASES += check_clrjmp1.tst
-TESTCASES += check_dstep.tst
-TESTCASES += check_ftag.tst
-TESTCASES += check_int64.tst
-# check_jsr is broken.
-#TESTCASES += check_jsr.tst
-TESTCASES += check_mcp.tst
-TESTCASES += check_movei.tst
-TESTCASES += check_mover.tst
-TESTCASES += check_moverm.tst
-TESTCASES += check_moveq.tst
-TESTCASES += check_movemr.tst
-TESTCASES += check_movemrv32.tst
-TESTCASES += check_movecr.tst
-TESTCASES += check_movmp.tst
-TESTCASES += check_movpr.tst
-TESTCASES += check_movprv32.tst
-TESTCASES += check_movdelsr1.tst
-TESTCASES += check_movpmv32.tst
-TESTCASES += check_movsr.tst
-TESTCASES += check_movsm.tst
-TESTCASES += check_movscr.tst
-TESTCASES += check_movur.tst
-TESTCASES += check_movum.tst
-TESTCASES += check_movucr.tst
-TESTCASES += check_mulx.tst
-TESTCASES += check_mulv32.tst
-TESTCASES += check_neg.tst
-TESTCASES += check_not.tst
-TESTCASES += check_lz.tst
-TESTCASES += check_lapc.tst
-TESTCASES += check_lsl.tst
-TESTCASES += check_lsr.tst
-TESTCASES += check_orc.tst
-TESTCASES += check_orm.tst
-TESTCASES += check_orr.tst
-TESTCASES += check_orq.tst
-TESTCASES += check_ret.tst
-TESTCASES += check_swap.tst
-TESTCASES += check_scc.tst
-TESTCASES += check_subc.tst
-TESTCASES += check_subq.tst
-TESTCASES += check_subr.tst
-TESTCASES += check_subm.tst
-TESTCASES += check_glibc_kernelversion.tst
-TESTCASES += check_xarith.tst
-
-TESTCASES += check_hello.ctst
-TESTCASES += check_stat1.ctst
-TESTCASES += check_stat2.ctst
-TESTCASES += check_stat3.ctst
-TESTCASES += check_stat4.ctst
-TESTCASES += check_openpf1.ctst
-TESTCASES += check_openpf2.ctst
-TESTCASES += check_openpf3.ctst
-TESTCASES += check_openpf5.ctst
-TESTCASES += check_mapbrk.ctst
-TESTCASES += check_mmap1.ctst
-TESTCASES += check_mmap2.ctst
-TESTCASES += check_mmap3.ctst
-TESTCASES += check_sigalrm.ctst
-TESTCASES += check_time2.ctst
-TESTCASES += check_settls1.ctst
-
-TESTCASES += check_gcctorture_pr28634-1.ctst
-#TESTCASES += check_gcctorture_pr28634.ctst
-
-all: build
-
-%.o: $(SRC_PATH)/tests/tcg/cris/%.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-%.o: $(SRC_PATH)/tests/tcg/cris/%.s
- $(AS) $(ASFLAGS) -c $< -o $@
-
-%.tst: %.o
- $(CC) $(CFLAGS) $(NOSTDFLAGS) $(LDLIBS) $(NOSTDLIBS) $(CRT) $< $(SYS) -o $@
-
-%.ctst: %.o
- $(CC) $(CFLAGS) $(LDLIBS) $< -o $@
-
-
-sysv10.o: sys.c
- $(CC) $(CFLAGS) -mcpu=v10 -c $< -o $@
-
-crtv10.o: crt.s
- $(AS) $(ASFLAGS) -mcpu=v10 -c $< -o $@
-
-check_addcv17.tst: ASFLAGS += -mcpu=v10
-check_addcv17.tst: CRT := crtv10.o
-check_addcv17.tst: SYS := sysv10.o
-check_addcv17.tst: crtv10.o sysv10.o
-
-build: $(CRT) $(SYS) $(TESTCASES)
-
-check: $(CRT) $(SYS) $(TESTCASES)
- @printf "\nQEMU simulator.\n"
- for case in $(TESTCASES); do \
- printf %s "$$case "; \
- SIMARGS=; \
- case $$case in *v17*) SIMARGS="-cpu crisv17";; esac; \
- $(SIM) $$SIMARGS ./$$case; \
- done
-check-g: $(CRT) $(SYS) $(TESTCASES)
- @printf "\nGDB simulator.\n"
- @for case in $(TESTCASES); do \
- printf %s "$$case "; \
- $(SIMG) $$case; \
- done
-
-clean:
- $(RM) -fr $(TESTCASES) *.o
diff --git a/tests/tcg/cris/Makefile.include b/tests/tcg/cris/Makefile.include
new file mode 100644
index 0000000000..1c037824bf
--- /dev/null
+++ b/tests/tcg/cris/Makefile.include
@@ -0,0 +1,6 @@
+#
+# Makefile.include for all CRIS targets
+#
+
+DOCKER_IMAGE=fedora-cris-cross
+DOCKER_CROSS_COMPILER=cris-linux-gnu-gcc
diff --git a/tests/tcg/cris/Makefile.target b/tests/tcg/cris/Makefile.target
new file mode 100644
index 0000000000..c1173ead42
--- /dev/null
+++ b/tests/tcg/cris/Makefile.target
@@ -0,0 +1,58 @@
+# -*- Mode: makefile -*-
+#
+# Cris tests
+#
+# Currently we can only build the "bare" tests with the docker
+# supplied cross-compiler.
+#
+
+CRIS_SRC = $(SRC_PATH)/tests/tcg/cris/bare
+CRIS_ALL = $(wildcard $(CRIS_SRC)/*.s)
+CRIS_TESTS = $(patsubst $(CRIS_SRC)/%.s, %, $(CRIS_ALL))
+# Filter out common blobs and broken tests
+CRIS_BROKEN_TESTS = crt check_jsr
+# upstream GCC doesn't support v32
+CRIS_BROKEN_TESTS += check_mcp check_mulv32 check_addiv32 check_movpmv32
+CRIS_BROKEN_TESTS += check_movprv32 check_clearfv32 check_movemrv32 check_bas
+CRIS_BROKEN_TESTS += check_lapc check_movei
+# no sure why
+CRIS_BROKEN_TESTS += check_scc check_xarith
+
+CRIS_USABLE_TESTS = $(filter-out $(CRIS_BROKEN_TESTS), $(CRIS_TESTS))
+CRIS_RUNS = $(patsubst %, run-%, $(CRIS_USABLE_TESTS))
+
+# override the list of tests, as we can't build the multiarch tests
+TESTS = $(CRIS_USABLE_TESTS)
+VPATH = $(CRIS_SRC)
+
+AS = $(CC) -x assembler-with-cpp
+LD = $(CC)
+
+# we rely on GCC inline:ing the stuff we tell it to in many places here.
+CFLAGS = -Winline -Wall -g -O2 -static
+NOSTDFLAGS = -nostartfiles -nostdlib
+ASFLAGS += -mcpu=v10 -g -Wa,-I,$(SRC_PATH)/tests/tcg/cris/bare
+CRT_FILES = crt.o sys.o
+
+# stop make deleting crt files if build fails
+.PRECIOUS: $(CRT_FILES)
+
+%.o: %.c
+ $(CC) -c $< -o $@
+
+%.o: %.s
+ $(AS) $(ASFLAGS) -c $< -o $@
+
+%: %.s $(CRT_FILES)
+ $(CC) $(ASFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT_FILES)
+
+# The default CPU breaks (possibly as it's max?) so force crisv17
+$(CRIS_RUNS): QEMU_OPTS=-cpu crisv17
+
+# Additional runners to run under GNU SIM
+CRIS_RUNS_ON_SIM=$(patsubst %, %-on-sim, $(CRIS_RUNS))
+SIMG:=cris-axis-linux-gnu-run
+
+# e.g.: make -f ../../tests/tcg/Makefile run-check_orm-on-sim
+run-%-on-sim:
+ $(call run-test, $<, $(SIMG) $<, "$< on $(TARGET_NAME) with SIM")
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 15/16] .travis.yml: separate softfloat from check-tcg
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (13 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 14/16] tests/tcg: enable cris base user-mode tests Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 16/16] .travis.yml: add softmmu check-tcg tests Alex Bennée
2019-02-28 20:46 ` [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm no-reply
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
While used by TCG it is not explicitly part of TCG and the tests can
be run standalone in a minimal build.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.travis.yml | 6 ++++++
tests/Makefile.include | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index cca57f4314..71b3c4a7a3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -85,6 +85,12 @@ matrix:
- CONFIG="--disable-user"
+ # Just build tools and run minimal unit and softfloat checks
+ - env:
+ - BASE_CONFIG="--enable-tools"
+ - CONFIG="--disable-user --disable-system"
+ - TEST_CMD="make check-unit check-softfloat -j3"
+
- env:
- CONFIG="--enable-debug --enable-debug-tcg --disable-user"
diff --git a/tests/Makefile.include b/tests/Makefile.include
index f39b96e250..fb31cc5edf 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -1059,7 +1059,7 @@ clean-tcg-tests-%:
build-tcg: $(BUILD_TCG_TARGET_RULES)
.PHONY: check-tcg
-check-tcg: check-softfloat $(RUN_TCG_TARGET_RULES)
+check-tcg: $(RUN_TCG_TARGET_RULES)
.PHONY: clean-tcg
clean-tcg: $(CLEAN_TCG_TARGET_RULES)
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [Qemu-devel] [PATCH v2 16/16] .travis.yml: add softmmu check-tcg tests
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (14 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 15/16] .travis.yml: separate softfloat from check-tcg Alex Bennée
@ 2019-02-28 20:25 ` Alex Bennée
2019-02-28 20:46 ` [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm no-reply
16 siblings, 0 replies; 29+ messages in thread
From: Alex Bennée @ 2019-02-28 20:25 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm, edgar.iglesias, jcmvbkbc, Alex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.travis.yml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.travis.yml b/.travis.yml
index 71b3c4a7a3..90c5908ae1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -255,6 +255,12 @@ matrix:
- ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
+ # Run check-tcg against linux-user
- env:
- CONFIG="--disable-system"
- TEST_CMD="make -j3 check-tcg V=1"
+
+ # Run check-tcg against softmmu targets
+ - env:
+ - CONFIG="--target-list=xtensa-softmmu,arm-softmmu"
+ - TEST_CMD="make -j3 check-tcg V=1"
--
2.20.1
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm
2019-02-28 20:25 [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm Alex Bennée
` (15 preceding siblings ...)
2019-02-28 20:25 ` [Qemu-devel] [PATCH v2 16/16] .travis.yml: add softmmu check-tcg tests Alex Bennée
@ 2019-02-28 20:46 ` no-reply
16 siblings, 0 replies; 29+ messages in thread
From: no-reply @ 2019-02-28 20:46 UTC (permalink / raw)
To: alex.bennee; +Cc: fam, qemu-devel, edgar.iglesias, qemu-arm, jcmvbkbc
Patchew URL: https://patchew.org/QEMU/20190228202537.4638-1-alex.bennee@linaro.org/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20190228202537.4638-1-alex.bennee@linaro.org
Subject: [Qemu-devel] [PATCH v2 00/16] Enabling tcg/tests for cris and system mode xtensa & arm
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20190228202537.4638-1-alex.bennee@linaro.org -> patchew/20190228202537.4638-1-alex.bennee@linaro.org
Switched to a new branch 'test'
3817cc66f8 .travis.yml: add softmmu check-tcg tests
5454ef35e8 .travis.yml: separate softfloat from check-tcg
1c72e41070 tests/tcg: enable cris base user-mode tests
74bfebc2ba tests/tcg/cris: align mul operations
c156c31322 tests/tcg/cris: comment out the ccs test
a85ea55327 tests/tcg/cris: cleanup sys.c
3748808883 tests/tcg: split cris tests into bare and libc directories
057b9b0114 tests/docker: add fedora-cris-cross compilers
a0e211db55 tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test
8dd8472bdd tests/tcg/xtensa: enable system tests
98cf445f43 tests/docker: add debian-xtensa-cross image
a98cb156ea tests/tcg/mips: fix hello-mips compilation
f87abb1245 tests/tcg: add gdb runner variant
8f6ab4e934 tests/tcg: add QEMU_OPT option for test runner
73feb4fff8 tests/tcg: enable tcg tests for softmmu
05b1080f7b tests/tcg: add softmmu awareness to Makefile
=== OUTPUT BEGIN ===
1/16 Checking commit 05b1080f7b30 (tests/tcg: add softmmu awareness to Makefile)
2/16 Checking commit 73feb4fff8c8 (tests/tcg: enable tcg tests for softmmu)
3/16 Checking commit 8f6ab4e9345c (tests/tcg: add QEMU_OPT option for test runner)
4/16 Checking commit f87abb12456e (tests/tcg: add gdb runner variant)
5/16 Checking commit a98cb156ea9b (tests/tcg/mips: fix hello-mips compilation)
6/16 Checking commit 98cf445f439f (tests/docker: add debian-xtensa-cross image)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18:
new file mode 100644
total: 0 errors, 1 warnings, 42 lines checked
Patch 6/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/16 Checking commit 8dd8472bdd63 (tests/tcg/xtensa: enable system tests)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#12:
deleted file mode 100644
total: 0 errors, 1 warnings, 40 lines checked
Patch 7/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/16 Checking commit a0e211db55c0 (tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#21:
new file mode 100644
total: 0 errors, 1 warnings, 204 lines checked
Patch 8/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
9/16 Checking commit 057b9b0114ea (tests/docker: add fedora-cris-cross compilers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#11:
new file mode 100644
total: 0 errors, 1 warnings, 8 lines checked
Patch 9/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/16 Checking commit 37488088838b (tests/tcg: split cris tests into bare and libc directories)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#19:
rename from tests/tcg/cris/check_addcv17.s
ERROR: space prohibited between function name and open parenthesis '('
#432: FILE: tests/tcg/cris/libc/sys.c:6:
+void exit (int status) {
ERROR: code indent should never use tabs
#433: FILE: tests/tcg/cris/libc/sys.c:7:
+^Iregister unsigned int callno asm ("r9") = 1; /* NR_exit */$
ERROR: code indent should never use tabs
#434: FILE: tests/tcg/cris/libc/sys.c:8:
+^Iasm volatile ("break 13\n"$
ERROR: code indent should never use tabs
#435: FILE: tests/tcg/cris/libc/sys.c:9:
+^I^I :$
ERROR: code indent should never use tabs
#436: FILE: tests/tcg/cris/libc/sys.c:10:
+^I^I : "r" (callno)$
ERROR: code indent should never use tabs
#437: FILE: tests/tcg/cris/libc/sys.c:11:
+^I^I : "memory" );$
ERROR: space prohibited before that close parenthesis ')'
#437: FILE: tests/tcg/cris/libc/sys.c:11:
+ : "memory" );
ERROR: code indent should never use tabs
#438: FILE: tests/tcg/cris/libc/sys.c:12:
+^Iwhile(1);$
ERROR: space required before the open parenthesis '('
#438: FILE: tests/tcg/cris/libc/sys.c:12:
+ while(1);
ERROR: trailing statements should be on next line
#438: FILE: tests/tcg/cris/libc/sys.c:12:
+ while(1);
ERROR: braces {} are necessary for all arms of this statement
#438: FILE: tests/tcg/cris/libc/sys.c:12:
+ while(1);
[...]
ERROR: space prohibited between function name and open parenthesis '('
#441: FILE: tests/tcg/cris/libc/sys.c:15:
+ssize_t write (int fd, const void *buf, size_t count) {
ERROR: code indent should never use tabs
#442: FILE: tests/tcg/cris/libc/sys.c:16:
+^Iregister unsigned int callno asm ("r9") = 4; /* NR_write */$
ERROR: code indent should never use tabs
#443: FILE: tests/tcg/cris/libc/sys.c:17:
+^Iregister unsigned int r10 asm ("r10") = fd;$
ERROR: code indent should never use tabs
#444: FILE: tests/tcg/cris/libc/sys.c:18:
+^Iregister const void *r11 asm ("r11") = buf;$
ERROR: code indent should never use tabs
#445: FILE: tests/tcg/cris/libc/sys.c:19:
+^Iregister size_t r12 asm ("r12") = count;$
ERROR: code indent should never use tabs
#446: FILE: tests/tcg/cris/libc/sys.c:20:
+^Iregister unsigned int r asm ("r10");$
ERROR: code indent should never use tabs
#448: FILE: tests/tcg/cris/libc/sys.c:22:
+^Iasm volatile ("break 13\n"$
ERROR: code indent should never use tabs
#449: FILE: tests/tcg/cris/libc/sys.c:23:
+^I : "=r" (r)$
ERROR: code indent should never use tabs
#450: FILE: tests/tcg/cris/libc/sys.c:24:
+^I : "r" (callno), "0" (r10), "r" (r11), "r" (r12)$
ERROR: code indent should never use tabs
#451: FILE: tests/tcg/cris/libc/sys.c:25:
+^I : "memory");$
ERROR: code indent should never use tabs
#453: FILE: tests/tcg/cris/libc/sys.c:27:
+^Ireturn r;$
ERROR: open brace '{' following function declarations go on the next line
#456: FILE: tests/tcg/cris/libc/sys.c:30:
+static inline int mystrlen(char *s) {
ERROR: code indent should never use tabs
#457: FILE: tests/tcg/cris/libc/sys.c:31:
+^Iint i = 0;$
ERROR: code indent should never use tabs
#458: FILE: tests/tcg/cris/libc/sys.c:32:
+^Iwhile (s[i])$
ERROR: braces {} are necessary for all arms of this statement
#458: FILE: tests/tcg/cris/libc/sys.c:32:
+ while (s[i])
[...]
ERROR: code indent should never use tabs
#459: FILE: tests/tcg/cris/libc/sys.c:33:
+^I^Ii++;$
ERROR: code indent should never use tabs
#460: FILE: tests/tcg/cris/libc/sys.c:34:
+^Ireturn i;$
ERROR: open brace '{' following function declarations go on the next line
#463: FILE: tests/tcg/cris/libc/sys.c:37:
+void pass(void) {
ERROR: code indent should never use tabs
#464: FILE: tests/tcg/cris/libc/sys.c:38:
+^Ichar s[] = "passed.\n";$
ERROR: code indent should never use tabs
#465: FILE: tests/tcg/cris/libc/sys.c:39:
+^Iwrite (1, s, sizeof (s) - 1);$
ERROR: space prohibited between function name and open parenthesis '('
#465: FILE: tests/tcg/cris/libc/sys.c:39:
+ write (1, s, sizeof (s) - 1);
ERROR: space prohibited between function name and open parenthesis '('
#465: FILE: tests/tcg/cris/libc/sys.c:39:
+ write (1, s, sizeof (s) - 1);
ERROR: code indent should never use tabs
#466: FILE: tests/tcg/cris/libc/sys.c:40:
+^Iexit (0);$
ERROR: space prohibited between function name and open parenthesis '('
#466: FILE: tests/tcg/cris/libc/sys.c:40:
+ exit (0);
ERROR: open brace '{' following function declarations go on the next line
#469: FILE: tests/tcg/cris/libc/sys.c:43:
+void _fail(char *reason) {
ERROR: code indent should never use tabs
#470: FILE: tests/tcg/cris/libc/sys.c:44:
+^Ichar s[] = "\nfailed: ";$
ERROR: code indent should never use tabs
#471: FILE: tests/tcg/cris/libc/sys.c:45:
+^Iint len = mystrlen(reason);$
ERROR: code indent should never use tabs
#472: FILE: tests/tcg/cris/libc/sys.c:46:
+^Iwrite (1, s, sizeof (s) - 1);$
ERROR: space prohibited between function name and open parenthesis '('
#472: FILE: tests/tcg/cris/libc/sys.c:46:
+ write (1, s, sizeof (s) - 1);
ERROR: space prohibited between function name and open parenthesis '('
#472: FILE: tests/tcg/cris/libc/sys.c:46:
+ write (1, s, sizeof (s) - 1);
ERROR: code indent should never use tabs
#473: FILE: tests/tcg/cris/libc/sys.c:47:
+^Iwrite (1, reason, len);$
ERROR: space prohibited between function name and open parenthesis '('
#473: FILE: tests/tcg/cris/libc/sys.c:47:
+ write (1, reason, len);
ERROR: code indent should never use tabs
#474: FILE: tests/tcg/cris/libc/sys.c:48:
+^Iwrite (1, "\n", 1);$
ERROR: space prohibited between function name and open parenthesis '('
#474: FILE: tests/tcg/cris/libc/sys.c:48:
+ write (1, "\n", 1);
ERROR: code indent should never use tabs
#475: FILE: tests/tcg/cris/libc/sys.c:49:
+//^Iexit (1);$
ERROR: do not use C99 // comments
#475: FILE: tests/tcg/cris/libc/sys.c:49:
+// exit (1);
ERROR: space prohibited between function name and open parenthesis '('
#478: FILE: tests/tcg/cris/libc/sys.c:52:
+void *memset (void *s, int c, size_t n) {
ERROR: code indent should never use tabs
#479: FILE: tests/tcg/cris/libc/sys.c:53:
+^Ichar *p = s;$
ERROR: code indent should never use tabs
#480: FILE: tests/tcg/cris/libc/sys.c:54:
+^Iint i;$
ERROR: code indent should never use tabs
#481: FILE: tests/tcg/cris/libc/sys.c:55:
+^Ifor (i = 0; i < n; i++)$
ERROR: braces {} are necessary for all arms of this statement
#481: FILE: tests/tcg/cris/libc/sys.c:55:
+ for (i = 0; i < n; i++)
[...]
ERROR: code indent should never use tabs
#482: FILE: tests/tcg/cris/libc/sys.c:56:
+^I^Ip[i] = c;$
ERROR: code indent should never use tabs
#483: FILE: tests/tcg/cris/libc/sys.c:57:
+^Ireturn p;$
total: 54 errors, 1 warnings, 58 lines checked
Patch 10/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
11/16 Checking commit a85ea55327a0 (tests/tcg/cris: cleanup sys.c)
ERROR: space prohibited before that close parenthesis ')'
#47: FILE: tests/tcg/cris/bare/sys.c:16:
+ : "memory" );
ERROR: space required before the open parenthesis '('
#48: FILE: tests/tcg/cris/bare/sys.c:17:
+ while(1);
ERROR: trailing statements should be on next line
#48: FILE: tests/tcg/cris/bare/sys.c:17:
+ while(1);
ERROR: braces {} are necessary for all arms of this statement
#48: FILE: tests/tcg/cris/bare/sys.c:17:
+ while(1);
[...]
ERROR: space prohibited between function name and open parenthesis '('
#82: FILE: tests/tcg/cris/bare/sys.c:48:
+ write(1, s, sizeof (s) - 1);
ERROR: space prohibited between function name and open parenthesis '('
#129: FILE: tests/tcg/cris/bare/sys.c:55:
+ write(1, s, sizeof (s) - 1);
ERROR: code indent should never use tabs
#150: FILE: tests/tcg/cris/libc/sys.c:12:
+^I^I : "memory");$
ERROR: code indent should never use tabs
#178: FILE: tests/tcg/cris/libc/sys.c:43:
+^Iwrite (1, s, sizeof(s) - 1);$
ERROR: space prohibited between function name and open parenthesis '('
#178: FILE: tests/tcg/cris/libc/sys.c:43:
+ write (1, s, sizeof(s) - 1);
total: 9 errors, 0 warnings, 169 lines checked
Patch 11/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/16 Checking commit c156c313223c (tests/tcg/cris: comment out the ccs test)
13/16 Checking commit 74bfebc2ba91 (tests/tcg/cris: align mul operations)
14/16 Checking commit 1c72e410701f (tests/tcg: enable cris base user-mode tests)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#31:
deleted file mode 100644
total: 0 errors, 1 warnings, 71 lines checked
Patch 14/16 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
15/16 Checking commit 5454ef35e853 (.travis.yml: separate softfloat from check-tcg)
16/16 Checking commit 3817cc66f810 (.travis.yml: add softmmu check-tcg tests)
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190228202537.4638-1-alex.bennee@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 29+ messages in thread