[Qemu-devel] [PATCH v6 40/49] tests/tcg: enable building for PowerPC

Alex Bennée posted 49 patches 7 years, 8 months ago
[Qemu-devel] [PATCH v6 40/49] tests/tcg: enable building for PowerPC
Posted by Alex Bennée 7 years, 8 months ago
Now we have restored debian-image-powerpc-cross using Debian SID
compilers we can build for 32 bit powerpc. Although PPC32 supports a
range of pages sizes currently only 4k works so the others are
commented out for now.

We can also merge the ppc64 support under the base architecture
directory to avoid too much proliferation of directories.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
v5
  - new for v5
---
 tests/tcg/ppc/Makefile.include     |  7 +++++++
 tests/tcg/ppc/Makefile.target      | 12 ++++++++++++
 tests/tcg/ppc64le/Makefile.include |  2 --
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 tests/tcg/ppc/Makefile.include
 create mode 100644 tests/tcg/ppc/Makefile.target
 delete mode 100644 tests/tcg/ppc64le/Makefile.include

diff --git a/tests/tcg/ppc/Makefile.include b/tests/tcg/ppc/Makefile.include
new file mode 100644
index 0000000000..b062c30dd3
--- /dev/null
+++ b/tests/tcg/ppc/Makefile.include
@@ -0,0 +1,7 @@
+ifeq ($(TARGET_NAME),ppc)
+DOCKER_IMAGE=debian-powerpc-cross
+DOCKER_CROSS_COMPILER=powerpc-linux-gnu-gcc
+else ifeq ($(TARGET_NAME),ppc64le)
+DOCKER_IMAGE=debian-ppc64el-cross
+DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
+endif
diff --git a/tests/tcg/ppc/Makefile.target b/tests/tcg/ppc/Makefile.target
new file mode 100644
index 0000000000..f5e08c7376
--- /dev/null
+++ b/tests/tcg/ppc/Makefile.target
@@ -0,0 +1,12 @@
+# -*- Mode: makefile -*-
+#
+# PPC - included from tests/tcg/Makefile
+#
+
+ifneq (,$(findstring 64,$(TARGET_NAME)))
+# On PPC64 Linux can be configured with 4k (default) or 64k pages (currently broken)
+EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-65536
+else
+# On PPC32 Linux supports 4K/16K/64K/256K (but currently only 4k works)
+EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-16384 run-test-mmap-65536 run-test-mmap-262144
+endif
diff --git a/tests/tcg/ppc64le/Makefile.include b/tests/tcg/ppc64le/Makefile.include
deleted file mode 100644
index d71cfc9aa7..0000000000
--- a/tests/tcg/ppc64le/Makefile.include
+++ /dev/null
@@ -1,2 +0,0 @@
-DOCKER_IMAGE=debian-ppc64el-cross
-DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
-- 
2.17.1


Re: [Qemu-devel] [PATCH v6 40/49] tests/tcg: enable building for PowerPC
Posted by Philippe Mathieu-Daudé 7 years, 8 months ago
On 06/08/2018 09:32 AM, Alex Bennée wrote:
> Now we have restored debian-image-powerpc-cross using Debian SID
> compilers we can build for 32 bit powerpc. Although PPC32 supports a
> range of pages sizes currently only 4k works so the others are
> commented out for now.
> 
> We can also merge the ppc64 support under the base architecture
> directory to avoid too much proliferation of directories.

ppc64el doesn't seem to work:

$ make subdir-ppc64le-linux-user build-tcg-tests-ppc64el-linux-user -j1
make[1]: *** ppc64el-linux-user: No such file or directory.  Stop.
make: *** [tests/Makefile.include:947:
build-tcg-tests-ppc64el-linux-user] Error 2

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

ppc32:

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> 
> ---
> v5
>   - new for v5
> ---
>  tests/tcg/ppc/Makefile.include     |  7 +++++++
>  tests/tcg/ppc/Makefile.target      | 12 ++++++++++++
>  tests/tcg/ppc64le/Makefile.include |  2 --
>  3 files changed, 19 insertions(+), 2 deletions(-)
>  create mode 100644 tests/tcg/ppc/Makefile.include
>  create mode 100644 tests/tcg/ppc/Makefile.target
>  delete mode 100644 tests/tcg/ppc64le/Makefile.include
> 
> diff --git a/tests/tcg/ppc/Makefile.include b/tests/tcg/ppc/Makefile.include
> new file mode 100644
> index 0000000000..b062c30dd3
> --- /dev/null
> +++ b/tests/tcg/ppc/Makefile.include
> @@ -0,0 +1,7 @@
> +ifeq ($(TARGET_NAME),ppc)
> +DOCKER_IMAGE=debian-powerpc-cross
> +DOCKER_CROSS_COMPILER=powerpc-linux-gnu-gcc
> +else ifeq ($(TARGET_NAME),ppc64le)
> +DOCKER_IMAGE=debian-ppc64el-cross
> +DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
> +endif
> diff --git a/tests/tcg/ppc/Makefile.target b/tests/tcg/ppc/Makefile.target
> new file mode 100644
> index 0000000000..f5e08c7376
> --- /dev/null
> +++ b/tests/tcg/ppc/Makefile.target
> @@ -0,0 +1,12 @@
> +# -*- Mode: makefile -*-
> +#
> +# PPC - included from tests/tcg/Makefile
> +#
> +
> +ifneq (,$(findstring 64,$(TARGET_NAME)))
> +# On PPC64 Linux can be configured with 4k (default) or 64k pages (currently broken)
> +EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-65536
> +else
> +# On PPC32 Linux supports 4K/16K/64K/256K (but currently only 4k works)
> +EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-16384 run-test-mmap-65536 run-test-mmap-262144
> +endif
> diff --git a/tests/tcg/ppc64le/Makefile.include b/tests/tcg/ppc64le/Makefile.include
> deleted file mode 100644
> index d71cfc9aa7..0000000000
> --- a/tests/tcg/ppc64le/Makefile.include
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -DOCKER_IMAGE=debian-ppc64el-cross
> -DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
> 

Re: [Qemu-devel] [PATCH v6 40/49] tests/tcg: enable building for PowerPC
Posted by Alex Bennée 7 years, 8 months ago
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> On 06/08/2018 09:32 AM, Alex Bennée wrote:
>> Now we have restored debian-image-powerpc-cross using Debian SID
>> compilers we can build for 32 bit powerpc. Although PPC32 supports a
>> range of pages sizes currently only 4k works so the others are
>> commented out for now.
>>
>> We can also merge the ppc64 support under the base architecture
>> directory to avoid too much proliferation of directories.
>
> ppc64el doesn't seem to work:
>
> $ make subdir-ppc64le-linux-user build-tcg-tests-ppc64el-linux-user -j1
> make[1]: *** ppc64el-linux-user: No such file or directory.  Stop.
> make: *** [tests/Makefile.include:947:
> build-tcg-tests-ppc64el-linux-user] Error 2

09:17:30 [alex@zen:~/l/q/qemu.git] testing/tcg-testing-revival-v7 + make run-tcg-tests-ppc64le-linux-user
  BUILD   debian9
  BUILD   debian-ppc64el-cross
  CROSS-BUILD ppc64le guest-tests with docker qemu:debian-ppc64el-cross
  BUILD   debian9
  BUILD   debian-ppc64el-cross
  CROSS-BUILD ppc64le guest-tests with docker qemu:debian-ppc64el-cross
  CC      ppc64le-linux-user/linux-user/main.o
  LINK    ppc64le-linux-user/qemu-ppc64le
  RUN-TESTS for ppc64le
  TEST    test-mmap (default) on ppc64le
  TEST    sha1 on ppc64le
  TEST    linux-test on ppc64le
  TEST    testthread on ppc64le
  TEST    test-mmap (4096 byte pages) on ppc64le

The Debian and QEMU naming conventions switch....

>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ppc32:
>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
>>
>> ---
>> v5
>>   - new for v5
>> ---
>>  tests/tcg/ppc/Makefile.include     |  7 +++++++
>>  tests/tcg/ppc/Makefile.target      | 12 ++++++++++++
>>  tests/tcg/ppc64le/Makefile.include |  2 --
>>  3 files changed, 19 insertions(+), 2 deletions(-)
>>  create mode 100644 tests/tcg/ppc/Makefile.include
>>  create mode 100644 tests/tcg/ppc/Makefile.target
>>  delete mode 100644 tests/tcg/ppc64le/Makefile.include
>>
>> diff --git a/tests/tcg/ppc/Makefile.include b/tests/tcg/ppc/Makefile.include
>> new file mode 100644
>> index 0000000000..b062c30dd3
>> --- /dev/null
>> +++ b/tests/tcg/ppc/Makefile.include
>> @@ -0,0 +1,7 @@
>> +ifeq ($(TARGET_NAME),ppc)
>> +DOCKER_IMAGE=debian-powerpc-cross
>> +DOCKER_CROSS_COMPILER=powerpc-linux-gnu-gcc
>> +else ifeq ($(TARGET_NAME),ppc64le)
>> +DOCKER_IMAGE=debian-ppc64el-cross
>> +DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
>> +endif
>> diff --git a/tests/tcg/ppc/Makefile.target b/tests/tcg/ppc/Makefile.target
>> new file mode 100644
>> index 0000000000..f5e08c7376
>> --- /dev/null
>> +++ b/tests/tcg/ppc/Makefile.target
>> @@ -0,0 +1,12 @@
>> +# -*- Mode: makefile -*-
>> +#
>> +# PPC - included from tests/tcg/Makefile
>> +#
>> +
>> +ifneq (,$(findstring 64,$(TARGET_NAME)))
>> +# On PPC64 Linux can be configured with 4k (default) or 64k pages (currently broken)
>> +EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-65536
>> +else
>> +# On PPC32 Linux supports 4K/16K/64K/256K (but currently only 4k works)
>> +EXTRA_RUNS+=run-test-mmap-4096 #run-test-mmap-16384 run-test-mmap-65536 run-test-mmap-262144
>> +endif
>> diff --git a/tests/tcg/ppc64le/Makefile.include b/tests/tcg/ppc64le/Makefile.include
>> deleted file mode 100644
>> index d71cfc9aa7..0000000000
>> --- a/tests/tcg/ppc64le/Makefile.include
>> +++ /dev/null
>> @@ -1,2 +0,0 @@
>> -DOCKER_IMAGE=debian-ppc64el-cross
>> -DOCKER_CROSS_COMPILER=powerpc64le-linux-gnu-gcc
>>


--
Alex Bennée