package/qemu: separate user and system arch on powerpc64le
PATCH 1/1 package/qemu: separate user and system arch on powerpc64le
QEMU provides a single system emulator that supports both powerpc64 and powerpc64le with a target called 'ppc64-softmmu', but it provides a different usermode emulator for each one (with targets 'ppc64le-linux-user' and 'ppc64-linux-user').
Due to this asymmetry it is not possible to support both cases with the single arch value used in the package file. This patch introduces an additional value into the package configuration, HOST_QEMU_SYS_ARCH, so that both cases can be supported.
Fixes commit d2ff457e88ff4106f97e29516d467978827d30c2 and autobuilder failture
http://autobuild.buildroot.net/results/a2d63e21c3e82c36f4a975e90ed56faba18e97a5
---
Hi Buildroot,
I saw that host-QEMU had again failed to build on powerpc64le, so I've taken a another look at the failure and I think I've fixed it properly this time. After the patch I'm able to build both the system and usermode emulators (for the host) on both powerpc64 and powerpc64le. The commit message should explain what was going on.
Sorry for the churn :-(
Cheers,
Sam.
package/qemu/qemu.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
package/qemu/qemu.mk +4 -2
@@ -35,7 +35,7 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p # mips64el mips64el # powerpc ppc # powerpc64 ppc64 -# powerpc64le ppc64le +# powerpc64le ppc64 (system) / ppc64le (usermode) # sh2a not supported # sh4 sh4 # sh4eb sh4eb
@@ -62,6 +62,7 @@ HOST_QEMU_ARCH = ppc64 endif ifeq ($(HOST_QEMU_ARCH),powerpc64le) HOST_QEMU_ARCH = ppc64le +HOST_QEMU_SYS_ARCH = ppc64 endif ifeq ($(HOST_QEMU_ARCH),sh4a) HOST_QEMU_ARCH = sh4
@@ -69,9 +70,10 @@ endif ifeq ($(HOST_QEMU_ARCH),sh4aeb) HOST_QEMU_ARCH = sh4eb endif +HOST_QEMU_SYS_ARCH ?= $(HOST_QEMU_ARCH) ifeq ($(BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE),y) -HOST_QEMU_TARGETS += $(HOST_QEMU_ARCH)-softmmu +HOST_QEMU_TARGETS += $(HOST_QEMU_SYS_ARCH)-softmmu HOST_QEMU_OPTS += --enable-system --enable-fdt HOST_QEMU_DEPENDENCIES += host-dtc else
Signature · 1 line
2.11.0
Thomas Petazzoni
AppliedPATCH 1/1 package/qemu: separate user and system arch on powerpc64le
Hello,
Quoted 10 lines · Sam Bobroff
QEMU provides a single system emulator that supports both powerpc64 and powerpc64le with a target called 'ppc64-softmmu', but it provides a different usermode emulator for each one (with targets 'ppc64le-linux-user' and 'ppc64-linux-user').
Due to this asymmetry it is not possible to support both cases with the single arch value used in the package file. This patch introduces an additional value into the package configuration,
HOST_QEMU_SYS_ARCH, so that both cases can be supported.
Quoted 7 lines
Fixes commit
d2ff457e88ff4106f97e29516d467978827d30c2and autobuilder failture
http://autobuild.buildroot.net/results/a2d63e21c3e82c36f4a975e90ed56faba18e97a5Signed-off-by Sam Bobroff <[email protected]>---
Hi Buildroot,
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com