Re: [Qemu-devel] [PATCH v3 16/46] tests/tcg: move i386 specific tests into subdir
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
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
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
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
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éeReviewed-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 $@ \ + $(