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]] -=-=-=-=-=-=-=-=-=-=-=-
