qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: cota@braap.org, famz@redhat.com, berrange@redhat.com,
	balrogg@gmail.com, aurelien@aurel32.net, agraf@suse.de,
	Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, "open list:ARM" <qemu-arm@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v4 26/49] tests/tcg: move ARM specific tests into subdir
Date: Fri, 18 May 2018 16:58:37 +0100	[thread overview]
Message-ID: <87efi9dkgi.fsf@linaro.org> (raw)
In-Reply-To: <578dacec-2d74-6e6d-fbd2-091e46e21803@amsat.org>


Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> On 05/17/2018 02:46 PM, Alex Bennée wrote:
>> These only need to be built for ARM guests.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>
>> ---
>> v2
>>   - do VPATH manipulation in tests/tcg/arm/Makefile.target
>>   - merge with fix hello-arm test
>> v4
>>   - update MAINTAINERS
>> ---
>>  MAINTAINERS                           |  1 +
>>  tests/tcg/README                      |  9 ---------
>>  tests/tcg/arm/Makefile.target         | 13 +++++++++++++
>>  tests/tcg/arm/README                  | 11 +++++++++++
>>  tests/tcg/{ => arm}/hello-arm.c       |  0
>>  tests/tcg/{ => arm}/test-arm-iwmmxt.s |  0
>>  6 files changed, 25 insertions(+), 9 deletions(-)
>>  create mode 100644 tests/tcg/arm/Makefile.target
>>  create mode 100644 tests/tcg/arm/README
>>  rename tests/tcg/{ => arm}/hello-arm.c (100%)
>>  rename tests/tcg/{ => arm}/test-arm-iwmmxt.s (100%)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 17b9fc0fbe..4e331c4db4 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -135,6 +135,7 @@ M: Peter Maydell <peter.maydell@linaro.org>
>>  L: qemu-arm@nongnu.org
>>  S: Maintained
>>  F: target/arm/
>> +F: tests/tcg/arm/
>>  F: hw/arm/
>>  F: hw/cpu/a*mpcore.c
>>  F: include/hw/cpu/a*mpcore.h
>> diff --git a/tests/tcg/README b/tests/tcg/README
>> index 469504c4cb..625f2326e6 100644
>> --- a/tests/tcg/README
>> +++ b/tests/tcg/README
>> @@ -5,15 +5,6 @@ or they are architecture specific.
>>
>>
>>
>> -ARM
>> -===
>> -
>> -hello-arm
>> ----------
>> -
>> -test-arm-iwmmxt
>> ----------------
>> -
>>  MIPS
>>  ====
>>
>> diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target
>> new file mode 100644
>> index 0000000000..bc6962ecc6
>> --- /dev/null
>> +++ b/tests/tcg/arm/Makefile.target
>> @@ -0,0 +1,13 @@
>> +# -*- Mode: makefile -*-
>> +#
>> +# ARM - included from tests/tcg/Makefile.target
>> +#
>> +
>> +ARM_SRC=$(SRC_PATH)/tests/tcg/arm
>> +
>> +# Set search path for all sources
>> +VPATH 		+= $(ARM_SRC)
>> +
>> +
>> +hello-arm: CFLAGS+=-marm -ffreestanding
>
> So we are only testing the ARMv7, but linux-user provides ARMv5 and
> ARMv6 cpus.
>
> There are still boards shipped with those cpus, so I think QEMU will
> still be useful nowadays with those older archs.
> Can we consider add tests for them?
> If so, I volunteer to prepare Docker cross images :)

Hmm OK but we'd a bunch of new tests and something like this:

modified   tests/tcg/arm/Makefile.target
@@ -8,13 +8,23 @@ ARM_SRC=$(SRC_PATH)/tests/tcg/arm
 # Set search path for all sources
 VPATH 		+= $(ARM_SRC)

-ARM_TESTS=hello-arm test-arm-iwmmxt
+ARM_TESTS=hello-arm hello-arm-v6 test-arm-iwmmxt

 TESTS += $(ARM_TESTS) fcvt

 hello-arm: CFLAGS+=-marm -ffreestanding
 hello-arm: LDFLAGS+=-nostdlib

+hello-arm-v6: CFLAGS+=-march=armv6 -ffreestanding
+hello-arm-v6: LDFLAGS+=-nostdlib
+hello-arm-v6: hello-arm.c
+	$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
+
+run-hello-arm-v6: hello-arm-v6
+	$(call quiet-command, \
+		timeout $(TIMEOUT) $(QEMU) -cpu arm926 $< > $<.out, \
+		"TEST", "$< on $(TARGET_NAME)")
+

Of course that fails because:

/home/alex/lsrc/qemu/qemu.git/tests/tcg/arm/hello-arm.c:106:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI
 _syscall1(int,exit1,int,status);
 ^~~~~~~~~

I think using external tests like risu is probably better for this sort
of coverage.

>
> arm-linux-user/tests$ ../qemu-arm -cpu arm926 -d in_asm,op sha1
> ----------------
> IN:
> 0x000102ec:  f04f 0b00  mov.w    fp, #0
>
> OP:
>  ld_i32 tmp5,env,$0xffffffffffffffec
>  movi_i32 tmp6,$0x0
>  brcond_i32 tmp5,tmp6,lt,$L0
>
>  ---- 000102ec 00000000 00000000
>  movi_i32 pc,$0x102ec
>  movi_i32 tmp5,$0x1
>  movi_i32 tmp6,$0x2000000
>  movi_i32 tmp7,$0x1
>  call exception_with_syndrome,$0x0,$0,env,tmp5,tmp6,tmp7
>  set_label $L0
>  exit_tb $0x563aed6cc043
>
> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> Illegal instruction
>
>> +hello-arm: LDFLAGS+=-nostdlib
>> diff --git a/tests/tcg/arm/README b/tests/tcg/arm/README
>> new file mode 100644
>> index 0000000000..e6307116e2
>> --- /dev/null
>> +++ b/tests/tcg/arm/README
>> @@ -0,0 +1,11 @@
>> +These are ARM specific guest programs
>> +
>> +hello-arm
>> +---------
>> +
>> +A very simple inline assembly, write syscall based hello world
>> +
>> +test-arm-iwmmxt
>> +---------------
>> +
>> +A simple test case for older iwmmxt extended ARMs
>> diff --git a/tests/tcg/hello-arm.c b/tests/tcg/arm/hello-arm.c
>> similarity index 100%
>> rename from tests/tcg/hello-arm.c
>> rename to tests/tcg/arm/hello-arm.c
>> diff --git a/tests/tcg/test-arm-iwmmxt.s b/tests/tcg/arm/test-arm-iwmmxt.s
>> similarity index 100%
>> rename from tests/tcg/test-arm-iwmmxt.s
>> rename to tests/tcg/arm/test-arm-iwmmxt.s
>>


--
Alex Bennée

  reply	other threads:[~2018-05-18 15:58 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-17 17:46 [Qemu-devel] [PATCH v4 00/49] fix building of tests/tcg Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 01/49] docker: add "probe" command for configure Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 02/49] configure: add test for docker availability Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 03/49] configure: add support for --cross-cc-FOO Alex Bennée
2018-05-17 18:19   ` Richard Henderson
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 04/49] configure: move i386_cc to cross_cc_i386 Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 05/49] configure: allow user to specify --cross-cc-cflags-foo= Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 06/49] configure: set cross_cc_FOO for host compiler Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 07/49] Makefile: Rename TARGET_DIRS to TARGET_LIST Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 08/49] docker: Add "cc" subcommand Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 09/49] docker: extend "cc" command to accept compiler Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 10/49] docker: allow "cc" command to run in user context Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 11/49] docker: Makefile.include introduce DOCKER_SCRIPT Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 12/49] tests/tcg: move architecture independent tests into subdir Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 13/49] tests/tcg/multiarch: Build fix for linux-test Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 14/49] tests/tcg/multiarch: enable additional linux-test tests Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 15/49] tests/tcg/multiarch: move most output to stdout Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 16/49] tests/tcg: move i386 specific tests into subdir Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 17/49] docker: Add fedora-i386-cross image Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 18/49] tests/tcg: enable building for i386 Alex Bennée
2018-05-18 11:28   ` Paolo Bonzini
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 19/49] tests/tcg/i386: Build fix for hello-i386 Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 20/49] tests/tcg/i386: fix test-i386 Alex Bennée
2018-05-17 19:04   ` Eric Blake
2018-05-17 19:57     ` Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 21/49] tests/tcg/i386: add runner for test-i386-fprem Alex Bennée
2018-05-18 11:30   ` Paolo Bonzini
2018-05-18 12:27     ` Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 22/49] tests/tcg/i386: disable i386 version of test-i386-ssse Alex Bennée
2018-05-17 19:56   ` Richard Henderson
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 23/49] tests/tcg/x86_64: add Makefile.target Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 24/49] tests/tcg/i386/test-i386: use modern vector_size attributes Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 25/49] tests/tcg/i386/test-i386: fix printf format Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 26/49] tests/tcg: move ARM specific tests into subdir Alex Bennée
2018-05-18 15:26   ` Philippe Mathieu-Daudé
2018-05-18 15:58     ` Alex Bennée [this message]
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 27/49] tests/tcg: enable building for ARM Alex Bennée
2018-05-18 15:28   ` Philippe Mathieu-Daudé
2018-05-18 15:48     ` Alex Bennée
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 28/49] tests/tcg/arm: fix up test-arm-iwmmxt test Alex Bennée
2018-05-17 20:15   ` Richard Henderson
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 29/49] tests/tcg/arm: disable -p 32768 mmap test Alex Bennée
2018-05-17 20:20   ` Richard Henderson
2018-05-17 21:24     ` Alex Bennée
2018-05-17 21:34       ` Richard Henderson
2018-05-18  3:47         ` Philippe Mathieu-Daudé
2018-05-17 17:46 ` [Qemu-devel] [PATCH v4 30/49] tests/tcg: enable building for AArch64 Alex Bennée
2018-05-17 20:26   ` Richard Henderson
2018-05-18 14:57   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 31/49] tests/tcg/aarch64: add Makefile.target Alex Bennée
2018-05-17 20:28   ` Richard Henderson
2018-05-17 21:25     ` Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 32/49] tests/tcg/arm: add fcvt test cases for AArch32/64 Alex Bennée
2018-05-17 20:30   ` Richard Henderson
2018-05-18  3:45     ` Philippe Mathieu-Daudé
2018-05-18  8:16       ` Alex Bennée
2018-05-18 14:53         ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 33/49] tests/tcg: move MIPS specific tests into subdir Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 34/49] tests/tcg: enable building for MIPS Alex Bennée
2018-05-18 14:49   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 35/49] tests/tcg/mips: include common mips hello-mips Alex Bennée
2018-05-18 14:49   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 36/49] tests/tcg: enable building for s390x Alex Bennée
2018-05-18 12:04   ` [Qemu-devel] [qemu-s390x] " David Hildenbrand
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 37/49] tests/tcg: enable building for ppc64 Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 38/49] tests/tcg: enable building for Alpha Alex Bennée
2018-05-18 14:21   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 39/49] tests/tcg/alpha: add Alpha specific tests Alex Bennée
2018-05-17 20:41   ` Richard Henderson
2018-05-18 14:25   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 40/49] tests/tcg: enable building for HPPA Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 41/49] tests/tcg: enable building for m68k Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 42/49] tests/tcg: enable building for sh4 Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 43/49] tests/tcg: enable building for sparc64 Alex Bennée
2018-05-18 14:28   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 44/49] tests/tcg: enable building for mips64 Alex Bennée
2018-05-18 14:26   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 45/49] tests/tcg: enable building for RISCV64 Alex Bennée
2018-05-18 14:24   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 46/49] tests/tcg/Makefile: update to be called from Makefile.target Alex Bennée
2018-05-17 20:43   ` Richard Henderson
2018-05-18 14:49   ` Philippe Mathieu-Daudé
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 47/49] Makefile.target: add (clean-/build-)guest-tests targets Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 48/49] tests/Makefile.include: add [build|clean|check]-tcg targets Alex Bennée
2018-05-17 17:47 ` [Qemu-devel] [PATCH v4 49/49] tests/tcg: override runners for broken tests (!UPSTREAM) Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87efi9dkgi.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=agraf@suse.de \
    --cc=aurelien@aurel32.net \
    --cc=balrogg@gmail.com \
    --cc=berrange@redhat.com \
    --cc=cota@braap.org \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).