On Thu, Jul 18, 2024 at 07:20:53PM +0200, Christian Melki wrote: > Bunch of changes. > https://wiki.qemu.org/ChangeLog/9.0 > https://github.com/qemu/qemu/compare/v9.0.0...v9.0.1 > https://github.com/qemu/qemu/compare/v9.0.1...v9.0.2 > > * Remove syscall patch, fixed in new version. > > * Remove jobserver patch, doesn't apply, and I am unsure > it is still needed?
>From what I see in the Makefile, it is no longer needed. The Makefile was modified to handle exactly our use-case. Michael > > Signed-off-by: Christian Melki <[email protected]> > --- > ...4-Handle-the-vsyscall-page-in-open_s.patch | 57 ------------------- > .../0101-let-ninja-use-the-jobserver.patch | 25 -------- > ...symlinks-for-security_model-mapped-f.patch | 0 > patches/{qemu-8.2.2 => qemu-9.0.2}/series | 4 +- > rules/qemu.make | 4 +- > 5 files changed, 3 insertions(+), 87 deletions(-) > delete mode 100644 > patches/qemu-8.2.2/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch > delete mode 100644 patches/qemu-8.2.2/0101-let-ninja-use-the-jobserver.patch > rename patches/{qemu-8.2.2 => > qemu-9.0.2}/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > (100%) > rename patches/{qemu-8.2.2 => qemu-9.0.2}/series (53%) > > diff --git > a/patches/qemu-8.2.2/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch > > b/patches/qemu-8.2.2/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch > deleted file mode 100644 > index a91a32996..000000000 > --- > a/patches/qemu-8.2.2/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch > +++ /dev/null > @@ -1,57 +0,0 @@ > -From 4ef1f559f270c66b3ffc23f6c845ff3d008c6356 Mon Sep 17 00:00:00 2001 > -From: Richard Henderson <[email protected]> > -Date: Sat, 24 Feb 2024 02:29:41 +0000 > -Subject: [PATCH] linux-user/x86_64: Handle the vsyscall page in > - open_self_maps_{2,4} > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -This is the only case in which we expect to have no host memory backing > -for a guest memory page, because in general linux user processes cannot > -map any pages in the top half of the 64-bit address space. > - > -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2170 > -Reviewed-by: Philippe Mathieu-Daudé <[email protected]> > -Signed-off-by: Richard Henderson <[email protected]> > ---- > - linux-user/syscall.c | 16 ++++++++++++++++ > - 1 file changed, 16 insertions(+) > - > -diff --git a/linux-user/syscall.c b/linux-user/syscall.c > -index e384e1424890..bc8c06522f88 100644 > ---- a/linux-user/syscall.c > -+++ b/linux-user/syscall.c > -@@ -7994,6 +7994,10 @@ static void open_self_maps_4(const struct > open_self_maps_data *d, > - path = "[heap]"; > - } else if (start == info->vdso) { > - path = "[vdso]"; > -+#ifdef TARGET_X86_64 > -+ } else if (start == TARGET_VSYSCALL_PAGE) { > -+ path = "[vsyscall]"; > -+#endif > - } > - > - /* Except null device (MAP_ANON), adjust offset for this fragment. */ > -@@ -8082,6 +8086,18 @@ static int open_self_maps_2(void *opaque, > target_ulong guest_start, > - uintptr_t host_start = (uintptr_t)g2h_untagged(guest_start); > - uintptr_t host_last = (uintptr_t)g2h_untagged(guest_end - 1); > - > -+#ifdef TARGET_X86_64 > -+ /* > -+ * Because of the extremely high position of the page within the guest > -+ * virtual address space, this is not backed by host memory at all. > -+ * Therefore the loop below would fail. This is the only instance > -+ * of not having host backing memory. > -+ */ > -+ if (guest_start == TARGET_VSYSCALL_PAGE) { > -+ return open_self_maps_3(opaque, guest_start, guest_end, flags); > -+ } > -+#endif > -+ > - while (1) { > - IntervalTreeNode *n = > - interval_tree_iter_first(d->host_maps, host_start, host_start); > --- > -2.39.2 > - > diff --git a/patches/qemu-8.2.2/0101-let-ninja-use-the-jobserver.patch > b/patches/qemu-8.2.2/0101-let-ninja-use-the-jobserver.patch > deleted file mode 100644 > index a1524c1d9..000000000 > --- a/patches/qemu-8.2.2/0101-let-ninja-use-the-jobserver.patch > +++ /dev/null > @@ -1,25 +0,0 @@ > -From: Michael Olbrich <[email protected]> > -Date: Fri, 26 Feb 2021 12:08:46 +0100 > -Subject: [PATCH] let ninja use the jobserver > - > -This is only for ptxdist. Ninja uses the make jobserver here, so don't add > -'-j1' if no -jX argument is given. > - > -Signed-off-by: Michael Olbrich <[email protected]> > ---- > - Makefile | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/Makefile b/Makefile > -index 5d48dfac18a3..61a291a95903 100644 > ---- a/Makefile > -+++ b/Makefile > -@@ -142,7 +142,7 @@ MAKE.k = $(findstring k,$(firstword $(filter-out > --%,$(MAKEFLAGS)))) > - MAKE.q = $(findstring q,$(firstword $(filter-out --%,$(MAKEFLAGS)))) > - MAKE.nq = $(if $(word 2, $(MAKE.n) $(MAKE.q)),nq) > - NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \ > -- $(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) \ > -+ $(filter-out -j, $(lastword $(filter -l% -j%, $(MAKEFLAGS)))) \ > - -d keepdepfile > - ninja-cmd-goals = $(or $(MAKECMDGOALS), all) > - ninja-cmd-goals += $(foreach g, $(MAKECMDGOALS), $(.ninja-goals.$g)) > diff --git > a/patches/qemu-8.2.2/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > > b/patches/qemu-9.0.2/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > similarity index 100% > rename from > patches/qemu-8.2.2/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > rename to > patches/qemu-9.0.2/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > diff --git a/patches/qemu-8.2.2/series b/patches/qemu-9.0.2/series > similarity index 53% > rename from patches/qemu-8.2.2/series > rename to patches/qemu-9.0.2/series > index 8912ba0c6..a55ede383 100644 > --- a/patches/qemu-8.2.2/series > +++ b/patches/qemu-9.0.2/series > @@ -1,8 +1,6 @@ > # generated by git-ptx-patches > #tag:base --start-number 1 > #tag:upstream --start-number 1 > -0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch > #tag:ptxdist --start-number 100 > 0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > -0101-let-ninja-use-the-jobserver.patch > -# e07b440a88f02f8ec66d73afd7a82c61 - git-ptx-patches magic > +# 7c1abd8b5f5ef26378050b669cba203a - git-ptx-patches magic > diff --git a/rules/qemu.make b/rules/qemu.make > index 19d07a599..854116b06 100644 > --- a/rules/qemu.make > +++ b/rules/qemu.make > @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_QEMU) += qemu > # > # Paths and names > # > -QEMU_VERSION := 8.2.2 > -QEMU_MD5 := e43091262671c1728b09522932b75b1d > +QEMU_VERSION := 9.0.2 > +QEMU_MD5 := f7f0462262d2571f146c6a8adda33b29 > QEMU := qemu-$(QEMU_VERSION) > QEMU_SUFFIX := tar.xz > QEMU_URL := https://download.qemu.org/$(QEMU).$(QEMU_SUFFIX) > -- > 2.34.1 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
