Re: [Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir

2018-04-25 Thread Philippe Mathieu-Daudé
On 04/25/2018 06:08 AM, Alex Bennée wrote:
> Philippe Mathieu-Daudé  writes:
>> On 04/24/2018 12:23 PM, Alex Bennée wrote:
>>> These only need to be built for i386 guests. This includes a stub
>>> tests/tcg/i386/Makfile.target which absorbs some of what was in
>>> tests/tcg/Makefile.
>>>
>>> Signed-off-by: Alex Bennée 
>>> Reviewed-by: Thomas Huth 
>>> Reviewed-by: Philippe Mathieu-Daudé 
>>> Tested-by: Philippe Mathieu-Daudé 
>>> ---
>>> v2
>>>   - move VPATH and TESTs setup into i386/Makefile.target
>>>   - set CFLAGS+=-m32 for cross building
>>> ---
>>>  tests/tcg/README|  39 
>>>  tests/tcg/i386/Makefile.target  |  30 ++
>>>  tests/tcg/i386/README   |  38 +++
>>>  tests/tcg/{ => i386}/hello-i386.c   |   0
>>>  tests/tcg/{ => i386}/pi_10.com  | Bin
>>>  tests/tcg/{ => i386}/runcom.c   |   0
>>>  tests/tcg/{ => i386}/test-i386-code16.S |   0
>>>  tests/tcg/{ => i386}/test-i386-fprem.c  |   0
>>>  tests/tcg/{ => i386}/test-i386-muldiv.h |   0
>>>  tests/tcg/{ => i386}/test-i386-shift.h  |   0
>>>  tests/tcg/{ => i386}/test-i386-ssse3.c  |   0
>>>  tests/tcg/{ => i386}/test-i386-vm86.S   |   0
>>>  tests/tcg/{ => i386}/test-i386.c|   0
>>>  tests/tcg/{ => i386}/test-i386.h|   0
>>>  14 files changed, 68 insertions(+), 39 deletions(-)
>>>  create mode 100644 tests/tcg/i386/Makefile.target
>>>  create mode 100644 tests/tcg/i386/README
>>>  rename tests/tcg/{ => i386}/hello-i386.c (100%)
>>>  rename tests/tcg/{ => i386}/pi_10.com (100%)
>>>  rename tests/tcg/{ => i386}/runcom.c (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-fprem.c (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
>>>  rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
>>>  rename tests/tcg/{ => i386}/test-i386.c (100%)
>>>  rename tests/tcg/{ => i386}/test-i386.h (100%)
>>>
>>> diff --git a/tests/tcg/README b/tests/tcg/README
>>> index 0890044cf0..469504c4cb 100644
>>> --- a/tests/tcg/README
>>> +++ b/tests/tcg/README
>>> @@ -3,45 +3,6 @@ regression testing. Tests are either multi-arch, meaning 
>>> they can be
>>>  built for all guest architectures that support linux-user executable,
>>>  or they are architecture specific.
>>>
>>> -i386
>>> -
>>> -
>>> -test-i386
>>> --
>>> -
>>> -This program executes most of the 16 bit and 32 bit x86 instructions and
>>> -generates a text output, for comparison with the output obtained with
>>> -a real CPU or another emulator.
>>> -
>>> -The Linux system call modify_ldt() is used to create x86 selectors
>>> -to test some 16 bit addressing and 32 bit with segmentation cases.
>>> -
>>> -The Linux system call vm86() is used to test vm86 emulation.
>>> -
>>> -Various exceptions are raised to test most of the x86 user space
>>> -exception reporting.
>>> -
>>> -linux-test
>>> ---
>>> -
>>> -This program tests various Linux system calls. It is used to verify
>>> -that the system call parameters are correctly converted between target
>>> -and host CPUs.
>>> -
>>> -test-i386-fprem
>>> 
>>> -
>>> -runcom
>>> ---
>>> -
>>> -test-mmap
>>> --
>>> -
>>> -sha1
>>> -
>>> -
>>> -hello-i386
>>> ---
>>>
>>>
>>>  ARM
>>> diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
>>> new file mode 100644
>>> index 00..2f27b65e2d
>>> --- /dev/null
>>> +++ b/tests/tcg/i386/Makefile.target
>>> @@ -0,0 +1,30 @@
>>> +# i386 cross compile notes
>>> +
>>> +I386_SRC=$(SRC_PATH)/tests/tcg/i386
>>> +
>>> +# Set search path for all sources
>>> +VPATH  += $(I386_SRC)
>>> +
>>> +I386_SRCS=$(notdir $(wildcard $(I386_SRC)/*.c))
>>> +I386_TESTS=$(I386_SRCS:.c=)
>>> +
>>> +# Update TESTS
>>> +TESTS+=$(I386_TESTS)
>>> +
>>> +ifneq ($(TARGET_NAME),x86_64)
>>> +CFLAGS+=-m32
>>> +endif
>>> +
>>> +#
>>> +# hello-i386 is a barebones app
>>> +#
>>> +hello-i386: CFLAGS+=-ffreestanding
>>> +hello-i386: LDFLAGS+=-nostdlib
>>> +
>>> +#
>>> +# test-386 includes a couple of additional objects that need to be linked 
>>> together
>>> +#
>>> +
>>> +test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S test-i386.h 
>>> test-i386-shift.h test-i386-muldiv.h
>>> +   $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
>>> +  $(>> diff --git a/tests/tcg/i386/README b/tests/tcg/i386/README
>>> new file mode 100644
>>> index 00..7a0a47bf27
>>> --- /dev/null
>>> +++ b/tests/tcg/i386/README
>>> @@ -0,0 +1,38 @@
>>> +These are i386 specific guest programs
>>> +
>>> +test-i386
>>> +-
>>> +
>>> +This program executes most of the 16 bit and 32 bit x86 instructions and
>>> 

Re: [Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir

2018-04-25 Thread Alex Bennée

Philippe Mathieu-Daudé  writes:

> On 04/24/2018 12:23 PM, Alex Bennée wrote:
>> These only need to be built for i386 guests. This includes a stub
>> tests/tcg/i386/Makfile.target which absorbs some of what was in
>> tests/tcg/Makefile.
>>
>> Signed-off-by: Alex Bennée 
>> Reviewed-by: Thomas Huth 
>> Reviewed-by: Philippe Mathieu-Daudé 
>> Tested-by: Philippe Mathieu-Daudé 
>> ---
>> v2
>>   - move VPATH and TESTs setup into i386/Makefile.target
>>   - set CFLAGS+=-m32 for cross building
>> ---
>>  tests/tcg/README|  39 
>>  tests/tcg/i386/Makefile.target  |  30 ++
>>  tests/tcg/i386/README   |  38 +++
>>  tests/tcg/{ => i386}/hello-i386.c   |   0
>>  tests/tcg/{ => i386}/pi_10.com  | Bin
>>  tests/tcg/{ => i386}/runcom.c   |   0
>>  tests/tcg/{ => i386}/test-i386-code16.S |   0
>>  tests/tcg/{ => i386}/test-i386-fprem.c  |   0
>>  tests/tcg/{ => i386}/test-i386-muldiv.h |   0
>>  tests/tcg/{ => i386}/test-i386-shift.h  |   0
>>  tests/tcg/{ => i386}/test-i386-ssse3.c  |   0
>>  tests/tcg/{ => i386}/test-i386-vm86.S   |   0
>>  tests/tcg/{ => i386}/test-i386.c|   0
>>  tests/tcg/{ => i386}/test-i386.h|   0
>>  14 files changed, 68 insertions(+), 39 deletions(-)
>>  create mode 100644 tests/tcg/i386/Makefile.target
>>  create mode 100644 tests/tcg/i386/README
>>  rename tests/tcg/{ => i386}/hello-i386.c (100%)
>>  rename tests/tcg/{ => i386}/pi_10.com (100%)
>>  rename tests/tcg/{ => i386}/runcom.c (100%)
>>  rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
>>  rename tests/tcg/{ => i386}/test-i386-fprem.c (100%)
>>  rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
>>  rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
>>  rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
>>  rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
>>  rename tests/tcg/{ => i386}/test-i386.c (100%)
>>  rename tests/tcg/{ => i386}/test-i386.h (100%)
>>
>> diff --git a/tests/tcg/README b/tests/tcg/README
>> index 0890044cf0..469504c4cb 100644
>> --- a/tests/tcg/README
>> +++ b/tests/tcg/README
>> @@ -3,45 +3,6 @@ regression testing. Tests are either multi-arch, meaning 
>> they can be
>>  built for all guest architectures that support linux-user executable,
>>  or they are architecture specific.
>>
>> -i386
>> -
>> -
>> -test-i386
>> --
>> -
>> -This program executes most of the 16 bit and 32 bit x86 instructions and
>> -generates a text output, for comparison with the output obtained with
>> -a real CPU or another emulator.
>> -
>> -The Linux system call modify_ldt() is used to create x86 selectors
>> -to test some 16 bit addressing and 32 bit with segmentation cases.
>> -
>> -The Linux system call vm86() is used to test vm86 emulation.
>> -
>> -Various exceptions are raised to test most of the x86 user space
>> -exception reporting.
>> -
>> -linux-test
>> ---
>> -
>> -This program tests various Linux system calls. It is used to verify
>> -that the system call parameters are correctly converted between target
>> -and host CPUs.
>> -
>> -test-i386-fprem
>> 
>> -
>> -runcom
>> ---
>> -
>> -test-mmap
>> --
>> -
>> -sha1
>> -
>> -
>> -hello-i386
>> ---
>>
>>
>>  ARM
>> diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
>> new file mode 100644
>> index 00..2f27b65e2d
>> --- /dev/null
>> +++ b/tests/tcg/i386/Makefile.target
>> @@ -0,0 +1,30 @@
>> +# i386 cross compile notes
>> +
>> +I386_SRC=$(SRC_PATH)/tests/tcg/i386
>> +
>> +# Set search path for all sources
>> +VPATH   += $(I386_SRC)
>> +
>> +I386_SRCS=$(notdir $(wildcard $(I386_SRC)/*.c))
>> +I386_TESTS=$(I386_SRCS:.c=)
>> +
>> +# Update TESTS
>> +TESTS+=$(I386_TESTS)
>> +
>> +ifneq ($(TARGET_NAME),x86_64)
>> +CFLAGS+=-m32
>> +endif
>> +
>> +#
>> +# hello-i386 is a barebones app
>> +#
>> +hello-i386: CFLAGS+=-ffreestanding
>> +hello-i386: LDFLAGS+=-nostdlib
>> +
>> +#
>> +# test-386 includes a couple of additional objects that need to be linked 
>> together
>> +#
>> +
>> +test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S test-i386.h 
>> test-i386-shift.h test-i386-muldiv.h
>> +$(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
>> +   $(> diff --git a/tests/tcg/i386/README b/tests/tcg/i386/README
>> new file mode 100644
>> index 00..7a0a47bf27
>> --- /dev/null
>> +++ b/tests/tcg/i386/README
>> @@ -0,0 +1,38 @@
>> +These are i386 specific guest programs
>> +
>> +test-i386
>> +-
>> +
>> +This program executes most of the 16 bit and 32 bit x86 instructions and
>> +generates a text output, for comparison with the output obtained with
>> +a real CPU or another emulator.
>> +
>> +The Linux system call modify_ldt() is used to create x86 selectors
>> 

Re: [Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir

2018-04-24 Thread Philippe Mathieu-Daudé
On 04/24/2018 12:23 PM, Alex Bennée wrote:
> These only need to be built for i386 guests. This includes a stub
> tests/tcg/i386/Makfile.target which absorbs some of what was in
> tests/tcg/Makefile.
> 
> Signed-off-by: Alex Bennée 
> Reviewed-by: Thomas Huth 
> Reviewed-by: Philippe Mathieu-Daudé 
> Tested-by: Philippe Mathieu-Daudé 
> ---
> v2
>   - move VPATH and TESTs setup into i386/Makefile.target
>   - set CFLAGS+=-m32 for cross building
> ---
>  tests/tcg/README|  39 
>  tests/tcg/i386/Makefile.target  |  30 ++
>  tests/tcg/i386/README   |  38 +++
>  tests/tcg/{ => i386}/hello-i386.c   |   0
>  tests/tcg/{ => i386}/pi_10.com  | Bin
>  tests/tcg/{ => i386}/runcom.c   |   0
>  tests/tcg/{ => i386}/test-i386-code16.S |   0
>  tests/tcg/{ => i386}/test-i386-fprem.c  |   0
>  tests/tcg/{ => i386}/test-i386-muldiv.h |   0
>  tests/tcg/{ => i386}/test-i386-shift.h  |   0
>  tests/tcg/{ => i386}/test-i386-ssse3.c  |   0
>  tests/tcg/{ => i386}/test-i386-vm86.S   |   0
>  tests/tcg/{ => i386}/test-i386.c|   0
>  tests/tcg/{ => i386}/test-i386.h|   0
>  14 files changed, 68 insertions(+), 39 deletions(-)
>  create mode 100644 tests/tcg/i386/Makefile.target
>  create mode 100644 tests/tcg/i386/README
>  rename tests/tcg/{ => i386}/hello-i386.c (100%)
>  rename tests/tcg/{ => i386}/pi_10.com (100%)
>  rename tests/tcg/{ => i386}/runcom.c (100%)
>  rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
>  rename tests/tcg/{ => i386}/test-i386-fprem.c (100%)
>  rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
>  rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
>  rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
>  rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
>  rename tests/tcg/{ => i386}/test-i386.c (100%)
>  rename tests/tcg/{ => i386}/test-i386.h (100%)
> 
> diff --git a/tests/tcg/README b/tests/tcg/README
> index 0890044cf0..469504c4cb 100644
> --- a/tests/tcg/README
> +++ b/tests/tcg/README
> @@ -3,45 +3,6 @@ regression testing. Tests are either multi-arch, meaning 
> they can be
>  built for all guest architectures that support linux-user executable,
>  or they are architecture specific.
>  
> -i386
> -
> -
> -test-i386
> --
> -
> -This program executes most of the 16 bit and 32 bit x86 instructions and
> -generates a text output, for comparison with the output obtained with
> -a real CPU or another emulator.
> -
> -The Linux system call modify_ldt() is used to create x86 selectors
> -to test some 16 bit addressing and 32 bit with segmentation cases.
> -
> -The Linux system call vm86() is used to test vm86 emulation.
> -
> -Various exceptions are raised to test most of the x86 user space
> -exception reporting.
> -
> -linux-test
> ---
> -
> -This program tests various Linux system calls. It is used to verify
> -that the system call parameters are correctly converted between target
> -and host CPUs.
> -
> -test-i386-fprem
> 
> -
> -runcom
> ---
> -
> -test-mmap
> --
> -
> -sha1
> -
> -
> -hello-i386
> ---
>  
>  
>  ARM
> diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
> new file mode 100644
> index 00..2f27b65e2d
> --- /dev/null
> +++ b/tests/tcg/i386/Makefile.target
> @@ -0,0 +1,30 @@
> +# i386 cross compile notes
> +
> +I386_SRC=$(SRC_PATH)/tests/tcg/i386
> +
> +# Set search path for all sources
> +VPATH+= $(I386_SRC)
> +
> +I386_SRCS=$(notdir $(wildcard $(I386_SRC)/*.c))
> +I386_TESTS=$(I386_SRCS:.c=)
> +
> +# Update TESTS
> +TESTS+=$(I386_TESTS)
> +
> +ifneq ($(TARGET_NAME),x86_64)
> +CFLAGS+=-m32
> +endif
> +
> +#
> +# hello-i386 is a barebones app
> +#
> +hello-i386: CFLAGS+=-ffreestanding
> +hello-i386: LDFLAGS+=-nostdlib
> +
> +#
> +# test-386 includes a couple of additional objects that need to be linked 
> together
> +#
> +
> +test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S test-i386.h 
> test-i386-shift.h test-i386-muldiv.h
> + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
> +$( diff --git a/tests/tcg/i386/README b/tests/tcg/i386/README
> new file mode 100644
> index 00..7a0a47bf27
> --- /dev/null
> +++ b/tests/tcg/i386/README
> @@ -0,0 +1,38 @@
> +These are i386 specific guest programs
> +
> +test-i386
> +-
> +
> +This program executes most of the 16 bit and 32 bit x86 instructions and
> +generates a text output, for comparison with the output obtained with
> +a real CPU or another emulator.
> +
> +The Linux system call modify_ldt() is used to create x86 selectors
> +to test some 16 bit addressing and 32 bit with segmentation cases.
> +
> +The Linux system call vm86() is used to test vm86 emulation.
> +
> +Various exceptions are raised to test most of 

Re: [Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir

2018-04-24 Thread Richard Henderson
On 04/24/2018 05:23 AM, Alex Bennée wrote:
> These only need to be built for i386 guests. This includes a stub
> tests/tcg/i386/Makfile.target which absorbs some of what was in
> tests/tcg/Makefile.
> 
> Signed-off-by: Alex Bennée 
> Reviewed-by: Thomas Huth 
> Reviewed-by: Philippe Mathieu-Daudé 
> Tested-by: Philippe Mathieu-Daudé 
> ---
> v2
>   - move VPATH and TESTs setup into i386/Makefile.target
>   - set CFLAGS+=-m32 for cross building
> ---

Reviewed-by: Richard Henderson 


r~




[Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir

2018-04-24 Thread Alex Bennée
These only need to be built for i386 guests. This includes a stub
tests/tcg/i386/Makfile.target which absorbs some of what was in
tests/tcg/Makefile.

Signed-off-by: Alex Bennée 
Reviewed-by: Thomas Huth 
Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 
---
v2
  - move VPATH and TESTs setup into i386/Makefile.target
  - set CFLAGS+=-m32 for cross building
---
 tests/tcg/README|  39 
 tests/tcg/i386/Makefile.target  |  30 ++
 tests/tcg/i386/README   |  38 +++
 tests/tcg/{ => i386}/hello-i386.c   |   0
 tests/tcg/{ => i386}/pi_10.com  | Bin
 tests/tcg/{ => i386}/runcom.c   |   0
 tests/tcg/{ => i386}/test-i386-code16.S |   0
 tests/tcg/{ => i386}/test-i386-fprem.c  |   0
 tests/tcg/{ => i386}/test-i386-muldiv.h |   0
 tests/tcg/{ => i386}/test-i386-shift.h  |   0
 tests/tcg/{ => i386}/test-i386-ssse3.c  |   0
 tests/tcg/{ => i386}/test-i386-vm86.S   |   0
 tests/tcg/{ => i386}/test-i386.c|   0
 tests/tcg/{ => i386}/test-i386.h|   0
 14 files changed, 68 insertions(+), 39 deletions(-)
 create mode 100644 tests/tcg/i386/Makefile.target
 create mode 100644 tests/tcg/i386/README
 rename tests/tcg/{ => i386}/hello-i386.c (100%)
 rename tests/tcg/{ => i386}/pi_10.com (100%)
 rename tests/tcg/{ => i386}/runcom.c (100%)
 rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
 rename tests/tcg/{ => i386}/test-i386-fprem.c (100%)
 rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
 rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
 rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
 rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
 rename tests/tcg/{ => i386}/test-i386.c (100%)
 rename tests/tcg/{ => i386}/test-i386.h (100%)

diff --git a/tests/tcg/README b/tests/tcg/README
index 0890044cf0..469504c4cb 100644
--- a/tests/tcg/README
+++ b/tests/tcg/README
@@ -3,45 +3,6 @@ regression testing. Tests are either multi-arch, meaning they 
can be
 built for all guest architectures that support linux-user executable,
 or they are architecture specific.
 
-i386
-
-
-test-i386
--
-
-This program executes most of the 16 bit and 32 bit x86 instructions and
-generates a text output, for comparison with the output obtained with
-a real CPU or another emulator.
-
-The Linux system call modify_ldt() is used to create x86 selectors
-to test some 16 bit addressing and 32 bit with segmentation cases.
-
-The Linux system call vm86() is used to test vm86 emulation.
-
-Various exceptions are raised to test most of the x86 user space
-exception reporting.
-
-linux-test
---
-
-This program tests various Linux system calls. It is used to verify
-that the system call parameters are correctly converted between target
-and host CPUs.
-
-test-i386-fprem

-
-runcom
---
-
-test-mmap
--
-
-sha1
-
-
-hello-i386
---
 
 
 ARM
diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
new file mode 100644
index 00..2f27b65e2d
--- /dev/null
+++ b/tests/tcg/i386/Makefile.target
@@ -0,0 +1,30 @@
+# i386 cross compile notes
+
+I386_SRC=$(SRC_PATH)/tests/tcg/i386
+
+# Set search path for all sources
+VPATH  += $(I386_SRC)
+
+I386_SRCS=$(notdir $(wildcard $(I386_SRC)/*.c))
+I386_TESTS=$(I386_SRCS:.c=)
+
+# Update TESTS
+TESTS+=$(I386_TESTS)
+
+ifneq ($(TARGET_NAME),x86_64)
+CFLAGS+=-m32
+endif
+
+#
+# hello-i386 is a barebones app
+#
+hello-i386: CFLAGS+=-ffreestanding
+hello-i386: LDFLAGS+=-nostdlib
+
+#
+# test-386 includes a couple of additional objects that need to be linked 
together
+#
+
+test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S test-i386.h 
test-i386-shift.h test-i386-muldiv.h
+   $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+  $(