On Fri, 15 May 2026 at 17:49, Quan Sun via lists.openembedded.org <[email protected]> wrote: > - Add python3-qemu-qmp recipe (0.0.6) as a separate package. The QMP > Python library was removed from the QEMU source tree in 11.0.0 and > split into its own upstream project. This is needed by > qemu-system-native for testimage integration. > +++ b/meta/recipes-devtools/qemu/python3-qemu-qmp_0.0.6.bb > @@ -0,0 +1,30 @@ > +SUMMARY = "QEMU Monitor Protocol Python library" > +DESCRIPTION = "An asyncio library for communicating with QEMU Monitor > Protocol (QMP). \ > +This library was split out of the QEMU source tree to provide a reference > QMP \ > +implementation usable both within and outside of the QEMU source tree." > +HOMEPAGE = "https://gitlab.com/qemu-project/python-qemu-qmp" > +LICENSE = "LGPL-2.0-only & GPL-2.0-only" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=4cf66a4984120007c9881cc871cf49db" > + > +SRC_URI = > "git://gitlab.com/qemu-project/python-qemu-qmp.git;protocol=https;branch=main" > +SRCREV = "82006cb788d27b090a8b84fc7831feb9c528bcdc"
Thanks! This is available on pypi: https://pypi.org/project/qemu.qmp/ so the recipe should use the pypi bbclass to download the appropriate package (there's lots of examples in oe-core). Also newly added recipes need a maintainers.inc entry: https://git.openembedded.org/openembedded-core/tree/meta/conf/distro/include/maintainers.inc Alex > + > +inherit python_setuptools_build_meta > + > +DEPENDS += "python3-setuptools-scm-native" > + > +# setuptools_scm needs this when building from git without tags in the clone > +SETUPTOOLS_SCM_PRETEND_VERSION = "0.0.6" > + > +RDEPENDS:${PN} += "python3-core python3-asyncio" > + > +# Install to the custom path expected by oeqa/utils/qemurunner.py > +# which imports "qmp.legacy" from ${libdir}/qemu-python/ > +do_install:append:class-native() { > + install -d ${D}${libdir}/qemu-python/qmp/ > + cp -R --no-dereference --preserve=mode,links ${S}/qemu/qmp/* > ${D}${libdir}/qemu-python/qmp/ > +} > + > +FILES:${PN}:append:class-native = " ${libdir}/qemu-python" > + > +BBCLASSEXTEND = "native nativesdk" > diff --git a/meta/recipes-devtools/qemu/qemu-native_10.2.0.bb > b/meta/recipes-devtools/qemu/qemu-native_11.0.0.bb > similarity index 99% > rename from meta/recipes-devtools/qemu/qemu-native_10.2.0.bb > rename to meta/recipes-devtools/qemu/qemu-native_11.0.0.bb > index 26fa84c180..a77953529b 100644 > --- a/meta/recipes-devtools/qemu/qemu-native_10.2.0.bb > +++ b/meta/recipes-devtools/qemu/qemu-native_11.0.0.bb > @@ -7,4 +7,3 @@ require qemu-native.inc > EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} > --disable-tools --disable-install-blobs --disable-guest-agent" > > PACKAGECONFIG ??= "pie" > - > diff --git a/meta/recipes-devtools/qemu/qemu-system-native_10.2.0.bb > b/meta/recipes-devtools/qemu/qemu-system-native_11.0.0.bb > similarity index 85% > rename from meta/recipes-devtools/qemu/qemu-system-native_10.2.0.bb > rename to meta/recipes-devtools/qemu/qemu-system-native_11.0.0.bb > index 2e4f7328ad..7947499c5f 100644 > --- a/meta/recipes-devtools/qemu/qemu-system-native_10.2.0.bb > +++ b/meta/recipes-devtools/qemu/qemu-system-native_11.0.0.bb > @@ -5,7 +5,7 @@ require qemu-native.inc > # As some of the files installed by qemu-native and qemu-system-native > # are the same, we depend on qemu-native to get the full installation set > # and avoid file clashes > -DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native" > +DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native > python3-qemu-qmp-native" > > EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" > > @@ -25,9 +25,4 @@ do_install:append() { > rm -rf ${D}${datadir}/qemu/dtb > rm -rf ${D}${datadir}/icons/ > rm -rf ${D}${includedir}/qemu-plugin.h > - > - # Install qmp.py to be used with testimage > - install -d ${D}${libdir}/qemu-python/qmp/ > - install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/ > } > - > diff --git a/meta/recipes-devtools/qemu/qemu-targets.inc > b/meta/recipes-devtools/qemu/qemu-targets.inc > index 50e5eb6796..937ef1a911 100644 > --- a/meta/recipes-devtools/qemu/qemu-targets.inc > +++ b/meta/recipes-devtools/qemu/qemu-targets.inc > @@ -25,6 +25,10 @@ def get_qemu_target_list(d): > archs.remove(arch) > if 'linux' not in tos: > return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in > archs]).rstrip(',') > + # QEMU 11.0.0+ only supports linux-user on 64-bit host architectures > + linux_user_hosts = ['aarch64', 'loongarch64', 'mips64', 'ppc64', > 'riscv64', 's390x', 'sparc64', 'x86_64'] > + if tarch not in linux_user_hosts: > + return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in > archs]).rstrip(',') > return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," > + arch + "-softmmu" + "," for arch in archs]).rstrip(',') > > def get_qemu_usermode_target_list(d): > diff --git a/meta/recipes-devtools/qemu/qemu.inc > b/meta/recipes-devtools/qemu/qemu.inc > index 5f30416a48..1e5890f15a 100644 > --- a/meta/recipes-devtools/qemu/qemu.inc > +++ b/meta/recipes-devtools/qemu/qemu.inc > @@ -4,6 +4,7 @@ machine's processor through dynamic binary translation and > provides a set \ > of different hardware and device models for the machine, enabling it to run \ > a variety of guest operating systems" > HOMEPAGE = "http://qemu.org" > +BUGTRACKER = "https://gitlab.com/qemu-project/qemu/-/issues" > LICENSE = "GPL-2.0-only & LGPL-2.1-only" > > DEPENDS += "bison-native meson-native ninja-native" > @@ -22,7 +23,6 @@ LIC_FILES_CHKSUM = > "file://COPYING;md5=a3b50d8b88dcc0eb3d7d39b760b9e821 \ > SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ > file://powerpc_rom.bin \ > file://run-ptest \ > - file://fix-strerrorname_np.patch \ > > file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ > file://0002-apic-fixup-fallthrough-to-PIC.patch \ > file://0004-qemu-Do-not-include-file-if-not-exists.patch \ > @@ -32,8 +32,6 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ > > file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ > file://0010-configure-lookup-meson-exutable-from-PATH.patch \ > > file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \ > - > file://0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch \ > - > file://0001-accel-tcg-Fix-iotlb_to_section-for-different-Address.patch \ > file://qemu-guest-agent.init \ > file://qemu-guest-agent.udev \ > " > @@ -41,7 +39,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ > UPSTREAM_CHECK_URI = "https://www.qemu.org" > UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" > > -SRC_URI[sha256sum] = > "9e30ad1b8b9f7b4463001582d1ab297f39cfccea5d08540c0ca6d6672785883a" > +SRC_URI[sha256sum] = > "c04ca36012653f32d11c674d370cf52a710e7d3f18c2d8b63e4932052a4854d6" > > CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can > expose host files uder some circumstances. We don't enable it by default." > > @@ -61,6 +59,9 @@ COMPATIBLE_HOST:mipsarchn32 = "null" > COMPATIBLE_HOST:mipsarchn64 = "null" > COMPATIBLE_HOST:riscv32 = "null" > > +# QEMU 11.0.0+ requires a 64-bit host architecture for emulator builds > +COMPATIBLE_HOST:class-target = > "(aarch64|x86_64|ppc64|riscv64|loongarch64|mips64|s390x|sparc64).*-linux" > + > # Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html > # upstream states qemu doesn't work without optimization > DEBUG_BUILD = "0" > @@ -75,7 +76,7 @@ do_install_ptest() { > find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcodp]" | xargs -i > rm -rf {} > > # Don't check the file genreated by configure > - sed -i -e "1s,#!/usr/bin/bash,#!${base_bindir}/bash," > ${D}${PTEST_PATH}/tests/data/acpi/disassemle-aml.sh > + sed -i -e "1s,#!/usr/bin/bash,#!${base_bindir}/bash," > ${D}${PTEST_PATH}/tests/data/acpi/disassemble-aml.sh > > # Strip the paths from the QEMU variable, we can use PATH > makfiles=$(find ${D}${PTEST_PATH} -name "*.mak") > @@ -119,8 +120,8 @@ EXTRA_OECONF = " \ > ${PACKAGECONFIG_CONFARGS} \ > " > > -EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}" > -EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}" > +EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX} > --cpu=${TUNE_ARCH}" > +EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX} > --cpu=${SDK_ARCH}" > > B = "${WORKDIR}/build" > > @@ -130,7 +131,7 @@ do_configure:prepend:class-native() { > # Append build host pkg-config paths for native target since the host > may provide sdl > BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable > pc_path pkg-config || echo "") > if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then > - export > PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:$BHOST_PKGCONFIG_PATH > + export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH > fi > } > > diff --git > a/meta/recipes-devtools/qemu/qemu/0001-accel-tcg-Fix-iotlb_to_section-for-different-Address.patch > > b/meta/recipes-devtools/qemu/qemu/0001-accel-tcg-Fix-iotlb_to_section-for-different-Address.patch > deleted file mode 100644 > index d19f872fc3..0000000000 > --- > a/meta/recipes-devtools/qemu/qemu/0001-accel-tcg-Fix-iotlb_to_section-for-different-Address.patch > +++ /dev/null > @@ -1,274 +0,0 @@ > -From 858e6bb252e075e09cca6e78299151d3af0bf5fb Mon Sep 17 00:00:00 2001 > -From: Quan Sun <[email protected]> > -Date: Tue, 28 Apr 2026 14:56:36 -0400 > -Subject: [PATCH] accel/tcg: Fix iotlb_to_section() for different AddressSpace > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -'CPUTLBEntryFull.xlat_section' stores section_index in last 12 bits to > -find the correct section when CPU access the IO region over the IOTLB. > -However, section_index is only unique inside single AddressSpace. If > -address space translation is over IOMMUMemoryRegion, it could return > -section from other AddressSpace. 'iotlb_to_section()' API only finds the > -sections from CPU's AddressSpace so that it couldn't find section in > -other AddressSpace. Thus, using 'iotlb_to_section()' API will find the > -wrong section and QEMU will have wrong load/store access. > - > -To fix this bug of iotlb_to_section(), store complete MemoryRegionSection > -pointer in CPUTLBEntryFull to replace the section_index in xlat_section. > -Rename 'xlat_section' to 'xlat_offset' as we remove last 12 bits > -section_index inside. Also, since we directly use section pointer in the > -CPUTLBEntryFull (full->section), we can remove the unused functions: > -iotlb_to_section(), memory_region_section_get_iotlb(). > - > -This bug occurs only when > -(1) IOMMUMemoryRegion is in the path of CPU access. > -(2) IOMMUMemoryRegion returns different target_as and the section is in > -the IO region. > - > -This patch incorporates prerequisite changes from upstream commit > -94c6e9cf0440 ("accel/tcg: Send the CPUTLBEntryFull struct into > -io_prepare()") needed for the fix to apply cleanly. > - > -Upstream-Status: Backport > [https://gitlab.com/qemu-project/qemu/-/commit/854cd16e318eed12de2995014b28d9f374c64bf7] > - > -Signed-off-by: Jim Shu <[email protected]> > -Reviewed-by: Philippe Mathieu-Daudé <[email protected]> > -Tested-by: Mark Burton <[email protected]> > -Reviewed-by: Pierrick Bouvier <[email protected]> > -Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > -Signed-off-by: Quan Sun <[email protected]> > ---- > - accel/tcg/cputlb.c | 32 +++++++++++++++----------------- > - include/accel/tcg/iommu.h | 15 --------------- > - include/exec/cputlb.h | 4 ++-- > - include/hw/core/cpu.h | 17 +++++++++-------- > - system/physmem.c | 25 ------------------------- > - 5 files changed, 26 insertions(+), 67 deletions(-) > - > -diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c > -index fd1606c85..fa0f4d8b3 100644 > ---- a/accel/tcg/cputlb.c > -+++ b/accel/tcg/cputlb.c > -@@ -1089,7 +1089,7 @@ void tlb_set_page_full(CPUState *cpu, int mmu_idx, > - } > - } else { > - /* I/O or ROMD */ > -- iotlb = memory_region_section_get_iotlb(cpu, section) + xlat; > -+ iotlb = xlat; > - /* > - * Writes to romd devices must go through MMIO to enable write. > - * Reads to romd devices go through the ram_ptr found above, > -@@ -1140,10 +1140,9 @@ void tlb_set_page_full(CPUState *cpu, int mmu_idx, > - /* > - * When memory region is ram, iotlb contains a TARGET_PAGE_BITS > - * aligned ram_addr_t of the page base of the target RAM. > -- * Otherwise, iotlb contains > -- * - a physical section number in the lower TARGET_PAGE_BITS > -- * - the offset within section->mr of the page base (I/O, ROMD) with > the > -- * TARGET_PAGE_BITS masked off. > -+ * Otherwise, iotlb contains a TARGET_PAGE_BITS aligned > -+ * offset within section->mr of the page base (I/O, ROMD) > -+ * > - * We subtract addr_page (which is page aligned and thus won't > - * disturb the low bits) to give an offset which can be added to the > - * (non-page-aligned) vaddr of the eventual memory access to get > -@@ -1153,7 +1152,8 @@ void tlb_set_page_full(CPUState *cpu, int mmu_idx, > - */ > - desc->fulltlb[index] = *full; > - full = &desc->fulltlb[index]; > -- full->xlat_section = iotlb - addr_page; > -+ full->xlat_offset = iotlb - addr_page; > -+ full->section = section; > - full->phys_addr = paddr_page; > - > - /* Now calculate the new entry */ > -@@ -1269,14 +1269,14 @@ static inline void cpu_unaligned_access(CPUState > *cpu, vaddr addr, > - } > - > - static MemoryRegionSection * > --io_prepare(hwaddr *out_offset, CPUState *cpu, hwaddr xlat, > -+io_prepare(hwaddr *out_offset, CPUState *cpu, CPUTLBEntryFull *full, > - MemTxAttrs attrs, vaddr addr, uintptr_t retaddr) > - { > - MemoryRegionSection *section; > - hwaddr mr_offset; > - > -- section = iotlb_to_section(cpu, xlat, attrs); > -- mr_offset = (xlat & TARGET_PAGE_MASK) + addr; > -+ section = full->section; > -+ mr_offset = full->xlat_offset + addr; > - cpu->mem_io_pc = retaddr; > - if (!cpu->neg.can_do_io) { > - cpu_io_recompile(cpu, retaddr); > -@@ -1335,7 +1335,7 @@ static bool victim_tlb_hit(CPUState *cpu, size_t > mmu_idx, size_t index, > - static void notdirty_write(CPUState *cpu, vaddr mem_vaddr, unsigned size, > - CPUTLBEntryFull *full, uintptr_t retaddr) > - { > -- ram_addr_t ram_addr = mem_vaddr + full->xlat_section; > -+ ram_addr_t ram_addr = mem_vaddr + full->xlat_offset; > - > - trace_memory_notdirty_write_access(mem_vaddr, ram_addr, size); > - > -@@ -1592,9 +1592,7 @@ bool tlb_plugin_lookup(CPUState *cpu, vaddr addr, int > mmu_idx, > - > - /* We must have an iotlb entry for MMIO */ > - if (tlb_addr & TLB_MMIO) { > -- MemoryRegionSection *section = > -- iotlb_to_section(cpu, full->xlat_section & ~TARGET_PAGE_MASK, > -- full->attrs); > -+ MemoryRegionSection *section = full->section; > - data->is_io = true; > - data->mr = section->mr; > - } else { > -@@ -1980,7 +1978,7 @@ static uint64_t do_ld_mmio_beN(CPUState *cpu, > CPUTLBEntryFull *full, > - tcg_debug_assert(size > 0 && size <= 8); > - > - attrs = full->attrs; > -- section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, > ra); > -+ section = io_prepare(&mr_offset, cpu, full, attrs, addr, ra); > - mr = section->mr; > - > - BQL_LOCK_GUARD(); > -@@ -2001,7 +1999,7 @@ static Int128 do_ld16_mmio_beN(CPUState *cpu, > CPUTLBEntryFull *full, > - tcg_debug_assert(size > 8 && size <= 16); > - > - attrs = full->attrs; > -- section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, > ra); > -+ section = io_prepare(&mr_offset, cpu, full, attrs, addr, ra); > - mr = section->mr; > - > - BQL_LOCK_GUARD(); > -@@ -2521,7 +2519,7 @@ static uint64_t do_st_mmio_leN(CPUState *cpu, > CPUTLBEntryFull *full, > - tcg_debug_assert(size > 0 && size <= 8); > - > - attrs = full->attrs; > -- section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, > ra); > -+ section = io_prepare(&mr_offset, cpu, full, attrs, addr, ra); > - mr = section->mr; > - > - BQL_LOCK_GUARD(); > -@@ -2541,7 +2539,7 @@ static uint64_t do_st16_mmio_leN(CPUState *cpu, > CPUTLBEntryFull *full, > - tcg_debug_assert(size > 8 && size <= 16); > - > - attrs = full->attrs; > -- section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, > ra); > -+ section = io_prepare(&mr_offset, cpu, full, attrs, addr, ra); > - mr = section->mr; > - > - BQL_LOCK_GUARD(); > -diff --git a/include/accel/tcg/iommu.h b/include/accel/tcg/iommu.h > -index 90cfd6c0e..547f8ea0e 100644 > ---- a/include/accel/tcg/iommu.h > -+++ b/include/accel/tcg/iommu.h > -@@ -14,18 +14,6 @@ > - #include "exec/hwaddr.h" > - #include "exec/memattrs.h" > - > --/** > -- * iotlb_to_section: > -- * @cpu: CPU performing the access > -- * @index: TCG CPU IOTLB entry > -- * > -- * Given a TCG CPU IOTLB entry, return the MemoryRegionSection that > -- * it refers to. @index will have been initially created and returned > -- * by memory_region_section_get_iotlb(). > -- */ > --MemoryRegionSection *iotlb_to_section(CPUState *cpu, > -- hwaddr index, MemTxAttrs attrs); > -- > - MemoryRegionSection *address_space_translate_for_iotlb(CPUState *cpu, > - int asidx, > - hwaddr addr, > -@@ -34,8 +22,5 @@ MemoryRegionSection > *address_space_translate_for_iotlb(CPUState *cpu, > - MemTxAttrs attrs, > - int *prot); > - > --hwaddr memory_region_section_get_iotlb(CPUState *cpu, > -- MemoryRegionSection *section); > -- > - #endif > - > -diff --git a/include/exec/cputlb.h b/include/exec/cputlb.h > -index 9bec0e789..16f866990 100644 > ---- a/include/exec/cputlb.h > -+++ b/include/exec/cputlb.h > -@@ -43,8 +43,8 @@ void tlb_reset_dirty_range_all(ram_addr_t start, > ram_addr_t length); > - * @full: the details of the tlb entry > - * > - * Add an entry to @cpu tlb index @mmu_idx. All of the fields of > -- * @full must be filled, except for xlat_section, and constitute > -- * the complete description of the translated page. > -+ * @full must be filled, except for xlat_offset & section, and > -+ * constitute the complete description of the translated page. > - * > - * This is generally called by the target tlb_fill function after > - * having performed a successful page table walk to find the physical > -diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h > -index 961505177..a3db3f66f 100644 > ---- a/include/hw/core/cpu.h > -+++ b/include/hw/core/cpu.h > -@@ -214,15 +214,16 @@ typedef uint32_t MMUIdxMap; > - */ > - struct CPUTLBEntryFull { > - /* > -- * @xlat_section contains: > -- * - in the lower TARGET_PAGE_BITS, a physical section number > -- * - with the lower TARGET_PAGE_BITS masked off, an offset which > -- * must be added to the virtual address to obtain: > -- * + the ram_addr_t of the target RAM (if the physical section > -- * number is PHYS_SECTION_NOTDIRTY or PHYS_SECTION_ROM) > -- * + the offset within the target MemoryRegion (otherwise) > -+ * @xlat_offset: TARGET_PAGE_BITS aligned offset which must be added to > -+ * the virtual address to obtain: > -+ * + the ram_addr_t of the target RAM (if the physical section > -+ * number is PHYS_SECTION_NOTDIRTY or PHYS_SECTION_ROM) > -+ * + the offset within the target MemoryRegion (otherwise) > - */ > -- hwaddr xlat_section; > -+ hwaddr xlat_offset; > -+ > -+ /* @section contains physical section. */ > -+ MemoryRegionSection *section; > - > - /* > - * @phys_addr contains the physical address in the address space > -diff --git a/system/physmem.c b/system/physmem.c > -index c9869e404..a21e7ca64 100644 > ---- a/system/physmem.c > -+++ b/system/physmem.c > -@@ -748,31 +748,6 @@ translate_fail: > - return &d->map.sections[PHYS_SECTION_UNASSIGNED]; > - } > - > --MemoryRegionSection *iotlb_to_section(CPUState *cpu, > -- hwaddr index, MemTxAttrs attrs) > --{ > -- int asidx = cpu_asidx_from_attrs(cpu, attrs); > -- CPUAddressSpace *cpuas = &cpu->cpu_ases[asidx]; > -- AddressSpaceDispatch *d = address_space_to_dispatch(cpuas->as); > -- int section_index = index & ~TARGET_PAGE_MASK; > -- MemoryRegionSection *ret; > -- > -- assert(section_index < d->map.sections_nb); > -- ret = d->map.sections + section_index; > -- assert(ret->mr); > -- assert(ret->mr->ops); > -- > -- return ret; > --} > -- > --/* Called from RCU critical section */ > --hwaddr memory_region_section_get_iotlb(CPUState *cpu, > -- MemoryRegionSection *section) > --{ > -- AddressSpaceDispatch *d = flatview_to_dispatch(section->fv); > -- return section - d->map.sections; > --} > -- > - #endif /* CONFIG_TCG */ > - > - void cpu_address_space_init(CPUState *cpu, int asidx, > --- > -2.43.0 > diff --git > a/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch > > b/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch > deleted file mode 100644 > index 47d6f41385..0000000000 > --- > a/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch > +++ /dev/null > @@ -1,42 +0,0 @@ > -From c333f9c4ee212297f3b9a8a6ef62396a63c48e61 Mon Sep 17 00:00:00 2001 > -From: Jim MacArthur <[email protected]> > -Date: Tue, 6 Jan 2026 15:40:48 +0000 > -Subject: [PATCH] linux-user/elfload.c: Correction to HWCAP2 accessor > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -get_elf_hwcap was used when get_elf_hwcap2 should have been. > - > -Cc: [email protected] > -Fixes: fcac98d0ba8b ("linux-user: Remove ELF_HWCAP2") > -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3259 > -Signed-off-by: Jim MacArthur <[email protected]> > -Reviewed-by: Richard Henderson <[email protected]> > -Reviewed-by: Philippe Mathieu-Daudé <[email protected]> > -Signed-off-by: Richard Henderson <[email protected]> > -Message-ID: <[email protected]> > - > -Upstream-Status: Backport > [https://gitlab.com/qemu-project/qemu/-/commit/c333f9c4ee212297f3b9a8a6ef62396a63c48e61] > - > -Signed-off-by: Chen Qi <[email protected]> > ---- > - linux-user/elfload.c | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/linux-user/elfload.c b/linux-user/elfload.c > -index 0002d5be2f..35471c0c9a 100644 > ---- a/linux-user/elfload.c > -+++ b/linux-user/elfload.c > -@@ -708,7 +708,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int > argc, int envc, > - NEW_AUX_ENT(AT_EXECFN, info->file_string); > - > - if (HAVE_ELF_HWCAP2) { > -- NEW_AUX_ENT(AT_HWCAP2, get_elf_hwcap(thread_cpu)); > -+ NEW_AUX_ENT(AT_HWCAP2, get_elf_hwcap2(thread_cpu)); > - } > - if (u_base_platform) { > - NEW_AUX_ENT(AT_BASE_PLATFORM, u_base_platform); > --- > -2.34.1 > - > diff --git > a/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch > > b/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch > index bc8dace013..40b08cd247 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch > @@ -1,10 +1,10 @@ > -From f2d9bc614f7edf66412209aba78aa086e65dc75e Mon Sep 17 00:00:00 2001 > +From a84184c98cf296954e0c757604e969b8565eb474 Mon Sep 17 00:00:00 2001 > From: Jason Wessel <[email protected]> > Date: Fri, 28 Mar 2014 17:42:43 +0800 > Subject: [PATCH] qemu: Add addition environment space to boot loader > qemu-system-mips > > -Upstream-Status: Inappropriate - OE uses deep paths > +Upstream-Status: Inappropriate [OE uses deep paths] > > If you create a project with very long directory names like 128 characters > deep and use NFS, the kernel arguments will be truncated. The kernel will > @@ -18,10 +18,10 @@ Signed-off-by: Roy Li <[email protected]> > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/mips/malta.c b/hw/mips/malta.c > -index cbdbb2105..62681fdae 100644 > +index 812ff64d8..daf929943 100644 > --- a/hw/mips/malta.c > +++ b/hw/mips/malta.c > -@@ -65,7 +65,7 @@ > +@@ -66,7 +66,7 @@ > #define ENVP_PADDR 0x2000 > #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR) > #define ENVP_NB_ENTRIES 16 > diff --git > a/meta/recipes-devtools/qemu/qemu/0002-apic-fixup-fallthrough-to-PIC.patch > b/meta/recipes-devtools/qemu/qemu/0002-apic-fixup-fallthrough-to-PIC.patch > index bfc85f4842..ad00f24482 100644 > --- a/meta/recipes-devtools/qemu/qemu/0002-apic-fixup-fallthrough-to-PIC.patch > +++ b/meta/recipes-devtools/qemu/qemu/0002-apic-fixup-fallthrough-to-PIC.patch > @@ -1,4 +1,4 @@ > -From 945af9ecc80653955cbdbb7d3e28dce61795b251 Mon Sep 17 00:00:00 2001 > +From 0a688e763d91c2e0e11cbe960f405442a9f35417 Mon Sep 17 00:00:00 2001 > From: Mark Asselstine <[email protected]> > Date: Tue, 26 Feb 2013 11:43:28 -0500 > Subject: [PATCH] apic: fixup fallthrough to PIC > @@ -33,10 +33,10 @@ Signed-off-by: Kai Kang <[email protected]> > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/intc/apic.c b/hw/intc/apic.c > -index aad253a..212b01f 100644 > +index 8766ed00b..581fc6deb 100644 > --- a/hw/intc/apic.c > +++ b/hw/intc/apic.c > -@@ -740,7 +740,7 @@ int apic_accept_pic_intr(APICCommonState *s) > +@@ -741,7 +741,7 @@ int apic_accept_pic_intr(APICCommonState *s) > { > uint32_t lvt0; > > diff --git > a/meta/recipes-devtools/qemu/qemu/0004-qemu-Do-not-include-file-if-not-exists.patch > > b/meta/recipes-devtools/qemu/qemu/0004-qemu-Do-not-include-file-if-not-exists.patch > index 2e738abaa3..4b6ac54445 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0004-qemu-Do-not-include-file-if-not-exists.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0004-qemu-Do-not-include-file-if-not-exists.patch > @@ -1,4 +1,4 @@ > -From f8c1614b204c1d64af906dc70dbf4a1534eb6b38 Mon Sep 17 00:00:00 2001 > +From b38315a5a6f9fc033c72bb94ff258bb4b1ac8dd3 Mon Sep 17 00:00:00 2001 > From: Oleksiy Obitotskyy <[email protected]> > Date: Wed, 25 Mar 2020 21:21:35 +0200 > Subject: [PATCH] qemu: Do not include file if not exists > @@ -16,10 +16,10 @@ Signed-off-by: Sakib Sajal <[email protected]> > 1 file changed, 2 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > -index c236b2834..2a3527a87 100644 > +index f4b74ad35..3da51ea83 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > -@@ -119,7 +119,9 @@ > +@@ -117,7 +117,9 @@ > #include <linux/blkpg.h> > #include <netpacket/packet.h> > #include <linux/netlink.h> > diff --git > a/meta/recipes-devtools/qemu/qemu/0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch > > b/meta/recipes-devtools/qemu/qemu/0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch > index ffbbb1ab32..59236999f9 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch > @@ -1,4 +1,4 @@ > -From 3621615790270449bf9c8a0777e8ef28eb762bf9 Mon Sep 17 00:00:00 2001 > +From e4abb937ba5a6a476d31886e71e67006df22a664 Mon Sep 17 00:00:00 2001 > From: Richard Purdie <[email protected]> > Date: Fri, 8 Jan 2021 17:27:06 +0000 > Subject: [PATCH] qemu: Add some user space mmap tweaks to address musl 32 bit > @@ -16,32 +16,24 @@ A better return value for the other cases of invalid > addresses is EINVAL > rather than ENOMEM so adjust the other part of the test to this. > > Upstream-Status: Submitted > [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01355.html] > -Signed-off-by: Richard Purdie <[email protected] > +Signed-off-by: Richard Purdie <[email protected]> > --- > - linux-user/mmap.c | 10 +++++++--- > - 1 file changed, 7 insertions(+), 3 deletions(-) > + linux-user/mmap.c | 5 +++++ > + 1 file changed, 5 insertions(+) > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > -index 002e1e668..912839dec 100644 > +index b635b6a21..a5a617516 100644 > --- a/linux-user/mmap.c > +++ b/linux-user/mmap.c > -@@ -1109,12 +1109,16 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong > old_size, > +@@ -1113,6 +1113,11 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong > old_size, > int prot; > void *host_addr; > > -- if (!guest_range_valid_untagged(old_addr, old_size) || > -- ((flags & MREMAP_FIXED) && > + if (!guest_range_valid_untagged(old_addr, old_size)) { > + errno = EFAULT; > + return -1; > + } > -+ > -+ if (((flags & MREMAP_FIXED) && > ++ > + if (((flags & MREMAP_FIXED) && > !guest_range_valid_untagged(new_addr, new_size)) || > ((flags & MREMAP_MAYMOVE) == 0 && > - !guest_range_valid_untagged(old_addr, new_size))) { > -- errno = ENOMEM; > -+ errno = EINVAL; > - return -1; > - } > - > diff --git > a/meta/recipes-devtools/qemu/qemu/0006-qemu-Determinism-fixes.patch > b/meta/recipes-devtools/qemu/qemu/0006-qemu-Determinism-fixes.patch > index 5b24c18916..0d7974fcdc 100644 > --- a/meta/recipes-devtools/qemu/qemu/0006-qemu-Determinism-fixes.patch > +++ b/meta/recipes-devtools/qemu/qemu/0006-qemu-Determinism-fixes.patch > @@ -1,4 +1,4 @@ > -From 8b28a9376074067bc2d84d4f77d5c7a42433b31b Mon Sep 17 00:00:00 2001 > +From e891928d2248e186c65979cf5a2ba0cff9d00824 Mon Sep 17 00:00:00 2001 > From: Richard Purdie <[email protected]> > Date: Mon, 1 Mar 2021 13:00:47 +0000 > Subject: [PATCH] qemu: Determinism fixes > @@ -11,6 +11,8 @@ meson to pass relative paths but we can fix that in the > script. > > Upstream-Status: Pending [some version of all/part of this may be accepted] > RP 2021/3/1 > + > +Signed-off-by: Richard Purdie <[email protected]> > --- > scripts/decodetree.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > diff --git > a/meta/recipes-devtools/qemu/qemu/0007-tests-meson.build-use-relative-path-to-refer-to-file.patch > > b/meta/recipes-devtools/qemu/qemu/0007-tests-meson.build-use-relative-path-to-refer-to-file.patch > index a58c936d06..275c500894 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0007-tests-meson.build-use-relative-path-to-refer-to-file.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0007-tests-meson.build-use-relative-path-to-refer-to-file.patch > @@ -1,4 +1,4 @@ > -From 097b75ad8310143decab92f6d1744144e7a4809f Mon Sep 17 00:00:00 2001 > +From ac9a866ac807cb1542f26df07b4aad3a06342a99 Mon Sep 17 00:00:00 2001 > From: Changqing Li <[email protected]> > Date: Thu, 14 Jan 2021 06:33:04 +0000 > Subject: [PATCH] tests/meson.build: use relative path to refer to files > @@ -17,10 +17,10 @@ Signed-off-by: Changqing Li <[email protected]> > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/unit/meson.build b/tests/unit/meson.build > -index d5248ae51..2c581f055 100644 > +index 41e8b06c3..ce5df4957 100644 > --- a/tests/unit/meson.build > +++ b/tests/unit/meson.build > -@@ -127,17 +127,17 @@ endif > +@@ -124,17 +124,17 @@ endif > > if have_system > tests += { > diff --git > a/meta/recipes-devtools/qemu/qemu/0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch > > b/meta/recipes-devtools/qemu/qemu/0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch > index af0eafb65f..f6e563ad80 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch > @@ -1,4 +1,4 @@ > -From 9d5deb767523ea0d1aeecb9960244c702530acad Mon Sep 17 00:00:00 2001 > +From c0bfd2c5556afcf4413c81b3fda54a62f2bdd8c8 Mon Sep 17 00:00:00 2001 > From: Khem Raj <[email protected]> > Date: Mon, 21 Mar 2022 10:09:38 -0700 > Subject: [PATCH] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux > diff --git > a/meta/recipes-devtools/qemu/qemu/0010-configure-lookup-meson-exutable-from-PATH.patch > > b/meta/recipes-devtools/qemu/qemu/0010-configure-lookup-meson-exutable-from-PATH.patch > index db88766cf6..430b1aa509 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0010-configure-lookup-meson-exutable-from-PATH.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0010-configure-lookup-meson-exutable-from-PATH.patch > @@ -1,4 +1,4 @@ > -From aaec67c133dddda7204d23964732b4b788cbc9ce Mon Sep 17 00:00:00 2001 > +From e357ac91b04f733148defe8c133ae8b2085a9a23 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <[email protected]> > Date: Wed, 22 May 2024 14:02:55 +0200 > Subject: [PATCH] configure: lookup meson exutable from PATH > @@ -13,10 +13,10 @@ Signed-off-by: Kai Kang <[email protected]> > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/configure b/configure > -index 82cace1..83bbda9 100755 > +index eea903067..217af781f 100755 > --- a/configure > +++ b/configure > -@@ -993,10 +993,7 @@ get_pwd() { > +@@ -981,10 +981,7 @@ get_pwd() { > fi > } > > @@ -26,5 +26,5 @@ index 82cace1..83bbda9 100755 > -fi > +meson=`which meson` > > - # Conditionally ensure Sphinx is installed. > - > + # On Haiku, meson might show up in a "non-packaged" subfolder instead, see > + # > https://github.com/haiku/haiku/blob/r1beta5/docs/user/storage/storageintro.dox > diff --git > a/meta/recipes-devtools/qemu/qemu/0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch > > b/meta/recipes-devtools/qemu/qemu/0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch > index d04596d313..040931a941 100644 > --- > a/meta/recipes-devtools/qemu/qemu/0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch > +++ > b/meta/recipes-devtools/qemu/qemu/0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch > @@ -1,4 +1,4 @@ > -From c9f174b2f7b43e59e91f88c75c8b3e2ee30bfcdd Mon Sep 17 00:00:00 2001 > +From 70fa360e5bf72b28960747da47d9b85e650ad312 Mon Sep 17 00:00:00 2001 > From: Richard Purdie <[email protected]> > Date: Wed, 22 May 2024 13:58:23 +0200 > Subject: [PATCH] qemu: Ensure pip and the python venv aren't used for meson > @@ -29,10 +29,10 @@ Signed-off-by: Richard Purdie > <[email protected]> > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > -index 84e429409..1a9585e8e 100755 > +index 217af781f..cf8666337 100755 > --- a/configure > +++ b/configure > -@@ -981,14 +981,14 @@ python="$(command -v "$python")" > +@@ -951,14 +951,14 @@ python="$(command -v "$python")" > echo "python determined to be '$python'" > echo "python version: $($python --version)" > > @@ -47,5 +47,5 @@ index 84e429409..1a9585e8e 100755 > -mkvenv="$python ${source_path}/python/scripts/mkvenv.py" > +mkvenv=true > > - # Finish preparing the virtual environment using vendored .whl files > - > + # Finish preparing the virtual environment using vendored .whl files. > + # Even if PyPI is allowed, we disallow it here to force installation > diff --git a/meta/recipes-devtools/qemu/qemu/fix-strerrorname_np.patch > b/meta/recipes-devtools/qemu/qemu/fix-strerrorname_np.patch > deleted file mode 100644 > index 524e20a3dd..0000000000 > --- a/meta/recipes-devtools/qemu/qemu/fix-strerrorname_np.patch > +++ /dev/null > @@ -1,35 +0,0 @@ > -From 475dbdbee7ff878d113f45a1a623e9abbf0e55f3 Mon Sep 17 00:00:00 2001 > -From: Natanael Copa <[email protected]> > -Date: Wed, 18 Sep 2024 16:19:37 -0700 > -Subject: [PATCH] target/riscv/kvm: do not use non-portable strerrorname_np() > - > -strerrorname_np is non-portable and breaks building with musl libc. > - > -Use strerror(errno) instead, like we do other places. > - > -Upstream-Status: Submitted > [https://mail.gnu.org/archive/html/qemu-stable/2023-12/msg00069.html] > - > -Cc: [email protected] > -Fixes: commit 082e9e4a58ba (target/riscv/kvm: improve 'init_multiext_cfg' > error > -msg) > -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2041 > -Buglink: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15541 > -Signed-off-by: Natanael Copa <[email protected]> > ---- > - target/riscv/kvm/kvm-cpu.c | 3 +-- > - 1 file changed, 1 insertion(+), 2 deletions(-) > - > -diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c > -index e06d2126b..e1cc02fba 100644 > ---- a/target/riscv/kvm/kvm-cpu.c > -+++ b/target/riscv/kvm/kvm-cpu.c > -@@ -1994,8 +1994,7 @@ static bool kvm_cpu_realize(CPUState *cs, Error **errp) > - if (riscv_has_ext(&cpu->env, RVV)) { > - ret = prctl(PR_RISCV_V_SET_CONTROL, PR_RISCV_V_VSTATE_CTRL_ON); > - if (ret) { > -- error_setg(errp, "Error in prctl PR_RISCV_V_SET_CONTROL, code: > %s", > -- strerrorname_np(errno)); > -+ error_setg(errp, "Error in prctl PR_RISCV_V_SET_CONTROL, error > %d", errno); > - return false; > - } > - } > diff --git a/meta/recipes-devtools/qemu/qemu_10.2.0.bb > b/meta/recipes-devtools/qemu/qemu_11.0.0.bb > similarity index 100% > rename from meta/recipes-devtools/qemu/qemu_10.2.0.bb > rename to meta/recipes-devtools/qemu/qemu_11.0.0.bb > -- > 2.49.0 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#237181): https://lists.openembedded.org/g/openembedded-core/message/237181 Mute This Topic: https://lists.openembedded.org/mt/119331918/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
