[OE-core] [PATCH V2] qemu: Enable ppc64le support for qemu-usermode

Khem Raj raj.khem at gmail.com
Sun Jan 19 19:13:51 UTC 2020


glibc defines minimum kernel needed to be 3.10.0 for LE ppc64

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
v2: Exclude ppc64le from system-qemu target list, its usermode only
    option

 meta/classes/qemu.bbclass                   | 3 +++
 meta/conf/bitbake.conf                      | 1 +
 meta/recipes-devtools/qemu/qemu-targets.inc | 2 +-
 meta/recipes-devtools/qemu/qemu.inc         | 2 +-
 4 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
index f5c5780125..55bdff816b 100644
--- a/meta/classes/qemu.bbclass
+++ b/meta/classes/qemu.bbclass
@@ -16,6 +16,8 @@ def qemu_target_binary(data):
         target_arch = "ppc"
     elif target_arch == "powerpc64":
         target_arch = "ppc64"
+    elif target_arch == "powerpc64le":
+        target_arch = "ppc64le"
 
     return "qemu-" + target_arch
 
@@ -62,3 +64,4 @@ QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
+QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER8"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index ce89b80ade..2da7c5849a 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -430,6 +430,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 OLDEST_KERNEL = "3.2.0"
 OLDEST_KERNEL_aarch64 = "3.14"
 OLDEST_KERNEL_nios2 = "3.19"
+OLDEST_KERNEL_powerpc64le = "3.10.0"
 OLDEST_KERNEL_riscv32 = "4.15"
 OLDEST_KERNEL_riscv64 = "4.15"
 
diff --git a/meta/recipes-devtools/qemu/qemu-targets.inc b/meta/recipes-devtools/qemu/qemu-targets.inc
index 8184ef5781..24f9a03948 100644
--- a/meta/recipes-devtools/qemu/qemu-targets.inc
+++ b/meta/recipes-devtools/qemu/qemu-targets.inc
@@ -13,7 +13,7 @@ def get_qemu_target_list(d):
             softmmuonly += arch + "-softmmu,"
             archs.remove(arch)
     linuxuseronly = ""
-    for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus', 'aarch64_be']:
+    for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']:
         if arch in archs:
             linuxuseronly += arch + "-linux-user,"
             archs.remove(arch)
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index dff5762b80..eb9f060997 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -59,7 +59,7 @@ do_install_ptest() {
 }
 
 # QEMU_TARGETS is overridable variable
-QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 riscv32 riscv64 sh4 x86_64"
+QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64"
 
 EXTRA_OECONF = " \
     --prefix=${prefix} \
-- 
2.25.0



More information about the Openembedded-core mailing list