This series breaks under nativesdk, please ignore for now.

Ross

> On 10 Jan 2025, at 13:01, Ross Burton via lists.openembedded.org 
> <[email protected]> wrote:
> 
> Using the package architecture to select the right qemu options to pass
> to qemu-user is incorrect, and fails for recipes that set PACKAGE_ARCH
> to MACHINE_ARCH (as the qemuppc workarounds suggest) because there are
> not typically any options set for the machine name.
> 
> Solve this by using TUNE_PKGARCH instead: for the majority of recipes
> this is the same value, but for machine-specific recipes it remains the
> same instead of changing to the machine name.
> 
> This means we can remove the qemuppc workarounds, as they're obsolete.
> 
> Also update the gcc-testsuite recipe which uses the same pattern to use
> TUNE_PKGARCH, and generalise the else codepath to avoid needing to
> update the list of architectures.
> 
> [ YOCTO #15647 ]
> 
> Signed-off-by: Ross Burton <[email protected]>
> ---
> meta/classes-recipe/qemu.bbclass            | 8 ++------
> meta/recipes-devtools/gcc/gcc-testsuite.inc | 4 ++--
> 2 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/meta/classes-recipe/qemu.bbclass 
> b/meta/classes-recipe/qemu.bbclass
> index dbb5ee0b666..8d7c82668b4 100644
> --- a/meta/classes-recipe/qemu.bbclass
> +++ b/meta/classes-recipe/qemu.bbclass
> @@ -60,8 +60,8 @@ def qemu_run_binary(data, rootfs_path, binary):
> # this dance). For others (e.g. arm) a -cpu option is not necessary, since the
> # qemu-arm default CPU supports all required architecture levels.
> 
> -QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % 
> d.getVar('PACKAGE_ARCH')) or ""}"
> -QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
> +QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % 
> d.getVar('TUNE_PKGARCH')) or ""}"
> +QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${TUNE_PKGARCH}"
> 
> QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
> @@ -71,7 +71,3 @@ QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
> QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
> QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
> QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER9"
> -# Some packages e.g. fwupd sets PACKAGE_ARCH = MACHINE_ARCH and uses meson 
> which
> -# needs right options to usermode qemu
> -QEMU_EXTRAOPTIONS_qemuppc = " -cpu 7400"
> -QEMU_EXTRAOPTIONS_qemuppc64 = " -cpu POWER9"
> diff --git a/meta/recipes-devtools/gcc/gcc-testsuite.inc 
> b/meta/recipes-devtools/gcc/gcc-testsuite.inc
> index 0a950b6c9e6..af6c7ad5a98 100644
> --- a/meta/recipes-devtools/gcc/gcc-testsuite.inc
> +++ b/meta/recipes-devtools/gcc/gcc-testsuite.inc
> @@ -53,8 +53,8 @@ python check_prepare() {
>         #   - valid for x86*, powerpc, arm, arm64
>         if qemu_binary.endswith(("x86_64", "i386", "arm", "aarch64")):
>             args += ["-cpu", "max"]
> -        elif qemu_binary.endswith(("ppc", "mips", "mips64")):
> -            extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % 
> d.getVar('PACKAGE_ARCH'))
> +        else:
> +            extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % 
> d.getVar('TUNE_PKGARCH'))
>             if extra:
>                 args += extra.split()
>         # For mips64 we could set a maximal CPU (e.g. Loongson-3A4000) 
> however they either have MSA
> -- 
> 2.43.0
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#209658): 
https://lists.openembedded.org/g/openembedded-core/message/209658
Mute This Topic: https://lists.openembedded.org/mt/110533939/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to