https://wiki.qemu.org/ChangeLog/8.0 Doesn't look overly large from the outside. Maybe the biggest news is that 32-bit x86 hosts are deprecated. And the rest is x86, arm and riscv work mostly.
* Fix and forward patches. * Remove deprecated configure option. Signed-off-by: Christian Melki <[email protected]> --- ...symlinks-for-security_model-mapped-f.patch | 22 ++++++++----------- .../0101-let-ninja-use-the-jobserver.patch | 2 +- patches/{qemu-7.2.1 => qemu-8.0.0}/series | 0 rules/qemu.make | 5 ++--- 4 files changed, 12 insertions(+), 17 deletions(-) rename patches/{qemu-7.2.1 => qemu-8.0.0}/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch (80%) rename patches/{qemu-7.2.1 => qemu-8.0.0}/0101-let-ninja-use-the-jobserver.patch (96%) rename patches/{qemu-7.2.1 => qemu-8.0.0}/series (100%) diff --git a/patches/qemu-7.2.1/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch b/patches/qemu-8.0.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch similarity index 80% rename from patches/qemu-7.2.1/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch rename to patches/qemu-8.0.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch index 6299ba1f6..15f297782 100644 --- a/patches/qemu-7.2.1/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch +++ b/patches/qemu-8.0.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch @@ -7,11 +7,11 @@ same filesystem with security_model=mapped-file and security_model=none. Signed-off-by: Michael Olbrich <[email protected]> --- - hw/9pfs/9p-local.c | 44 +++++++++++++++++++++++++++++--------------- - 1 file changed, 29 insertions(+), 15 deletions(-) + hw/9pfs/9p-local.c | 40 +++++++++++++++++++++++++++------------- + 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c -index d42ce6d8b822..559573008eec 100644 +index 9d07620235c2..376d5b095c76 100644 --- a/hw/9pfs/9p-local.c +++ b/hw/9pfs/9p-local.c @@ -462,8 +462,7 @@ static ssize_t local_readlink(FsContext *fs_ctx, V9fsPath *fs_path, @@ -24,15 +24,15 @@ index d42ce6d8b822..559573008eec 100644 int fd; fd = local_open_nofollow(fs_ctx, fs_path->data, O_RDONLY, 0); -@@ -475,6 +474,7 @@ static ssize_t local_readlink(FsContext *fs_ctx, V9fsPath *fs_path, - } while (tsize == -1 && errno == EINTR); +@@ -473,6 +472,7 @@ static ssize_t local_readlink(FsContext *fs_ctx, V9fsPath *fs_path, + tsize = RETRY_ON_EINTR(read(fd, (void *)buf, bufsz)); close_preserve_errno(fd); } else if ((fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) || + (fs_ctx->export_flags & V9FS_SM_MAPPED_FILE) || (fs_ctx->export_flags & V9FS_SM_NONE)) { char *dirpath = g_path_get_dirname(fs_path->data); char *name = g_path_get_basename(fs_path->data); -@@ -486,6 +486,17 @@ static ssize_t local_readlink(FsContext *fs_ctx, V9fsPath *fs_path, +@@ -484,6 +484,17 @@ static ssize_t local_readlink(FsContext *fs_ctx, V9fsPath *fs_path, } tsize = readlinkat(dirfd, name, buf, bufsz); @@ -50,7 +50,7 @@ index d42ce6d8b822..559573008eec 100644 close_preserve_errno(dirfd); out: g_free(name); -@@ -901,20 +912,23 @@ static int local_symlink(FsContext *fs_ctx, const char *oldpath, +@@ -899,18 +910,21 @@ static int local_symlink(FsContext *fs_ctx, const char *oldpath, int fd; ssize_t oldpath_size, write_size; @@ -61,9 +61,7 @@ index d42ce6d8b822..559573008eec 100644 - } - /* Write the oldpath (target) to the file. */ - oldpath_size = strlen(oldpath); -- do { -- write_size = write(fd, (void *)oldpath, oldpath_size); -- } while (write_size == -1 && errno == EINTR); +- write_size = RETRY_ON_EINTR(write(fd, (void *)oldpath, oldpath_size)); - close_preserve_errno(fd); + if (fs_ctx->export_flags & V9FS_SM_MAPPED || + (symlinkat(oldpath, dirfd, name) != 0)) { @@ -74,9 +72,7 @@ index d42ce6d8b822..559573008eec 100644 + } + /* Write the oldpath (target) to the file. */ + oldpath_size = strlen(oldpath); -+ do { -+ write_size = write(fd, (void *)oldpath, oldpath_size); -+ } while (write_size == -1 && errno == EINTR); ++ write_size = RETRY_ON_EINTR(write(fd, (void *)oldpath, oldpath_size)); + close_preserve_errno(fd); - if (write_size != oldpath_size) { diff --git a/patches/qemu-7.2.1/0101-let-ninja-use-the-jobserver.patch b/patches/qemu-8.0.0/0101-let-ninja-use-the-jobserver.patch similarity index 96% rename from patches/qemu-7.2.1/0101-let-ninja-use-the-jobserver.patch rename to patches/qemu-8.0.0/0101-let-ninja-use-the-jobserver.patch index a039bfef9..92fdb14b6 100644 --- a/patches/qemu-7.2.1/0101-let-ninja-use-the-jobserver.patch +++ b/patches/qemu-8.0.0/0101-let-ninja-use-the-jobserver.patch @@ -11,7 +11,7 @@ Signed-off-by: Michael Olbrich <[email protected]> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index a48103cc8a1a..9fbd7b095ca9 100644 +index e421f8a1f4f7..0028d9996cdc 100644 --- a/Makefile +++ b/Makefile @@ -145,7 +145,7 @@ MAKE.k = $(findstring k,$(firstword $(filter-out --%,$(MAKEFLAGS)))) diff --git a/patches/qemu-7.2.1/series b/patches/qemu-8.0.0/series similarity index 100% rename from patches/qemu-7.2.1/series rename to patches/qemu-8.0.0/series diff --git a/rules/qemu.make b/rules/qemu.make index b39eb3a90..c0c434ab8 100644 --- a/rules/qemu.make +++ b/rules/qemu.make @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_QEMU) += qemu # # Paths and names # -QEMU_VERSION := 7.2.1 -QEMU_MD5 := 48ec3eadc151f0eceb641c0c7a13374c +QEMU_VERSION := 8.0.0 +QEMU_MD5 := f871d2602f5db527533db0f13aa79ab9 QEMU := qemu-$(QEMU_VERSION) QEMU_SUFFIX := tar.xz QEMU_URL := https://download.qemu.org/$(QEMU).$(QEMU_SUFFIX) @@ -132,7 +132,6 @@ QEMU_CONF_OPT := \ --disable-libvduse \ --disable-virglrenderer \ --$(call ptx/endis, PTXCONF_QEMU_SYS)-virtfs \ - --disable-virtiofsd \ --disable-vnc \ --disable-vnc-jpeg \ --disable-vnc-sasl \ -- 2.34.1
