package/qemu: bump to version 6.1.0
Remove upstream patches. Drop 0003-meson-add-tests-option.patch and disable the fp-bench build by default [1] Qemu now requires at least gcc 7.x to build. Disable optional dependency for eBPF RSS loader. See: https://wiki.qemu.org/ChangeLog/6.1#Build_Information [1] https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
1b4fc24d65
commit
33c69c02fb
@ -1,98 +0,0 @@
|
||||
From 839e51aa452345b440f8d2d0df84ab58bdedfcd1 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sat, 14 Nov 2020 21:54:17 +0100
|
||||
Subject: [PATCH] Fix build with 64 bits time_t
|
||||
|
||||
time element is deprecated on new input_event structure in kernel's
|
||||
input.h [1]
|
||||
|
||||
This will avoid the following build failure:
|
||||
|
||||
hw/input/virtio-input-host.c: In function 'virtio_input_host_handle_status':
|
||||
hw/input/virtio-input-host.c:198:28: error: 'struct input_event' has no member named 'time'
|
||||
198 | if (gettimeofday(&evdev.time, NULL)) {
|
||||
| ^
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/a538167e288c14208d557cd45446df86d3d599d5
|
||||
- http://autobuild.buildroot.org/results/efd4474fb4b6c0ce0ab3838ce130429c51e43bbb
|
||||
|
||||
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
contrib/vhost-user-input/main.c | 10 +++++++++-
|
||||
hw/input/virtio-input-host.c | 10 +++++++++-
|
||||
2 files changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/main.c
|
||||
index 6020c6f33a..e688c3e0a9 100644
|
||||
--- a/contrib/vhost-user-input/main.c
|
||||
+++ b/contrib/vhost-user-input/main.c
|
||||
@@ -15,6 +15,11 @@
|
||||
#include "standard-headers/linux/virtio_input.h"
|
||||
#include "qapi/error.h"
|
||||
|
||||
+#ifndef input_event_sec
|
||||
+#define input_event_sec time.tv_sec
|
||||
+#define input_event_usec time.tv_usec
|
||||
+#endif
|
||||
+
|
||||
enum {
|
||||
VHOST_USER_INPUT_MAX_QUEUES = 2,
|
||||
};
|
||||
@@ -113,13 +118,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data)
|
||||
static void vi_handle_status(VuInput *vi, virtio_input_event *event)
|
||||
{
|
||||
struct input_event evdev;
|
||||
+ struct timeval tval;
|
||||
int rc;
|
||||
|
||||
- if (gettimeofday(&evdev.time, NULL)) {
|
||||
+ if (gettimeofday(&tval, NULL)) {
|
||||
perror("vi_handle_status: gettimeofday");
|
||||
return;
|
||||
}
|
||||
|
||||
+ evdev.input_event_sec = tval.tv_sec;
|
||||
+ evdev.input_event_usec = tval.tv_usec;
|
||||
evdev.type = le16toh(event->type);
|
||||
evdev.code = le16toh(event->code);
|
||||
evdev.value = le32toh(event->value);
|
||||
diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c
|
||||
index 85daf73f1a..2e261737e1 100644
|
||||
--- a/hw/input/virtio-input-host.c
|
||||
+++ b/hw/input/virtio-input-host.c
|
||||
@@ -16,6 +16,11 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include "standard-headers/linux/input.h"
|
||||
|
||||
+#ifndef input_event_sec
|
||||
+#define input_event_sec time.tv_sec
|
||||
+#define input_event_usec time.tv_usec
|
||||
+#endif
|
||||
+
|
||||
/* ----------------------------------------------------------------- */
|
||||
|
||||
static struct virtio_input_config virtio_input_host_config[] = {
|
||||
@@ -193,13 +198,16 @@ static void virtio_input_host_handle_status(VirtIOInput *vinput,
|
||||
{
|
||||
VirtIOInputHost *vih = VIRTIO_INPUT_HOST(vinput);
|
||||
struct input_event evdev;
|
||||
+ struct timeval tval;
|
||||
int rc;
|
||||
|
||||
- if (gettimeofday(&evdev.time, NULL)) {
|
||||
+ if (gettimeofday(&tval, NULL)) {
|
||||
perror("virtio_input_host_handle_status: gettimeofday");
|
||||
return;
|
||||
}
|
||||
|
||||
+ evdev.input_event_sec = tval.tv_sec;
|
||||
+ evdev.input_event_usec = tval.tv_usec;
|
||||
evdev.type = le16_to_cpu(event->type);
|
||||
evdev.code = le16_to_cpu(event->code);
|
||||
evdev.value = le32_to_cpu(event->value);
|
||||
--
|
||||
2.29.2
|
||||
|
@ -0,0 +1,28 @@
|
||||
From f82238299d3c4cd23ca60cfc0cf4271f5c860873 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 25 Aug 2021 21:55:53 +0200
|
||||
Subject: [PATCH] tests/fp: disable fp-bench build by default
|
||||
|
||||
Fixes:
|
||||
https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
tests/fp/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/fp/meson.build b/tests/fp/meson.build
|
||||
index 07e2cdc8d2..c96460b7f1 100644
|
||||
--- a/tests/fp/meson.build
|
||||
+++ b/tests/fp/meson.build
|
||||
@@ -631,6 +631,7 @@ fpbench = executable(
|
||||
dependencies: [qemuutil],
|
||||
include_directories: [sfinc, include_directories(tfdir)],
|
||||
c_args: fpcflags,
|
||||
+ build_by_default: false,
|
||||
)
|
||||
|
||||
fptestlog2 = executable(
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,94 +0,0 @@
|
||||
From c24f6cc8f847a4f90cd8fe0f94604862c5ac4a5e Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Mon, 21 Dec 2020 22:12:14 +0100
|
||||
Subject: [PATCH] meson: add tests option
|
||||
|
||||
tests/fp/fp-bench.c use fenv.h that is not always provided
|
||||
by the libc (uClibc).
|
||||
|
||||
To workaround this issue, add an new meson option to
|
||||
disable tests while building Qemu.
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.net/results/53f5d8baa994d599b9da013ee643b82353366ec3/build-end.log
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
Refresh for 6.0.0
|
||||
---
|
||||
configure | 7 +++++++
|
||||
meson.build | 5 ++++-
|
||||
meson_options.txt | 2 ++
|
||||
3 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 18c26e0389..7cceae4418 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -460,6 +460,7 @@ meson=""
|
||||
ninja=""
|
||||
skip_meson=no
|
||||
gettext="auto"
|
||||
+tests="auto"
|
||||
fuse="auto"
|
||||
fuse_lseek="auto"
|
||||
multiprocess="auto"
|
||||
@@ -1549,6 +1550,10 @@ for opt do
|
||||
;;
|
||||
--disable-libdaxctl) libdaxctl=no
|
||||
;;
|
||||
+ --disable-tests) tests="disabled"
|
||||
+ ;;
|
||||
+ --enable-tests) tests="enabled"
|
||||
+ ;;
|
||||
--enable-fuse) fuse="enabled"
|
||||
;;
|
||||
--disable-fuse) fuse="disabled"
|
||||
@@ -1915,6 +1920,7 @@ disabled with --disable-FEATURE, default is enabled if available
|
||||
xkbcommon xkbcommon support
|
||||
rng-none dummy RNG, avoid using /dev/(u)random and getrandom()
|
||||
libdaxctl libdaxctl support
|
||||
+ tests build tests
|
||||
fuse FUSE block device export
|
||||
fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports
|
||||
multiprocess Out of process device emulation support
|
||||
@@ -6422,6 +6428,7 @@ NINJA=$ninja $meson setup \
|
||||
-Dzstd=$zstd -Dseccomp=$seccomp -Dvirtfs=$virtfs -Dcap_ng=$cap_ng \
|
||||
-Dattr=$attr -Ddefault_devices=$default_devices \
|
||||
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
|
||||
+ -Dtests=$tests \
|
||||
-Dvhost_user_blk_server=$vhost_user_blk_server -Dmultiprocess=$multiprocess \
|
||||
-Dfuse=$fuse -Dfuse_lseek=$fuse_lseek -Dguest_agent_msi=$guest_agent_msi \
|
||||
$(if test "$default_features" = no; then echo "-Dauto_features=disabled"; fi) \
|
||||
diff --git a/meson.build b/meson.build
|
||||
index e3386196ba..7f4efdc347 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -2381,7 +2381,10 @@ subdir('scripts')
|
||||
subdir('tools')
|
||||
subdir('pc-bios')
|
||||
subdir('docs')
|
||||
-subdir('tests')
|
||||
+if get_option('tests').enabled()
|
||||
+ subdir('tests')
|
||||
+endif
|
||||
+
|
||||
if gtk.found()
|
||||
subdir('po')
|
||||
endif
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index f6f64785fe..81bffbfe87 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -111,6 +111,8 @@ option('fuse_lseek', type : 'feature', value : 'auto',
|
||||
|
||||
option('vhost_user_blk_server', type: 'feature', value: 'auto',
|
||||
description: 'build vhost-user-blk server')
|
||||
+option('tests', type : 'feature', value : 'auto',
|
||||
+ description: 'Tests build support')
|
||||
option('virtfs', type: 'feature', value: 'auto',
|
||||
description: 'virtio-9p support')
|
||||
option('virtiofsd', type: 'feature', value: 'auto',
|
||||
--
|
||||
2.29.2
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 14833e24dea49303ebc2464813601054b6cdfcac Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Neyman <stilor@att.net>
|
||||
Date: Wed, 21 Jul 2021 19:08:46 -0700
|
||||
Subject: [PATCH] Makefile: ignore long options
|
||||
|
||||
When searching for options like -n in MAKEFLAGS, current code may result
|
||||
in a false positive match when make is invoked with long options like
|
||||
--no-print-directory. This has been observed with certain versions of
|
||||
host make (e.g. 3.82) while building the Qemu package in buildroot.
|
||||
|
||||
Filter out such long options before searching for one-character options.
|
||||
|
||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
||||
Message-Id: <20210722020846.3678817-1-stilor@att.net>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
Makefile | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 6c36330eef..401c623a65 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -129,9 +129,11 @@ endif
|
||||
# 4. Rules to bridge to other makefiles
|
||||
|
||||
ifneq ($(NINJA),)
|
||||
-MAKE.n = $(findstring n,$(firstword $(MAKEFLAGS)))
|
||||
-MAKE.k = $(findstring k,$(firstword $(MAKEFLAGS)))
|
||||
-MAKE.q = $(findstring q,$(firstword $(MAKEFLAGS)))
|
||||
+# Filter out long options to avoid flags like --no-print-directory which
|
||||
+# may result in false positive match for MAKE.n
|
||||
+MAKE.n = $(findstring n,$(firstword $(filter-out --%,$(MAKEFLAGS))))
|
||||
+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)))) \
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 4d5280c066eb46a31556044fb52c2618928b0019 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Mon, 9 Aug 2021 10:04:07 +0200
|
||||
Subject: [PATCH] block/export/fuse.c: fix musl build
|
||||
|
||||
Fix the following build failure on musl raised since version 6.0.0 and
|
||||
https://gitlab.com/qemu-project/qemu/-/commit/4ca37a96a75aafe7a37ba51ab1912b09b7190a6b
|
||||
because musl does not define FALLOC_FL_ZERO_RANGE:
|
||||
|
||||
../block/export/fuse.c: In function 'fuse_fallocate':
|
||||
../block/export/fuse.c:563:23: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function)
|
||||
563 | } else if (mode & FALLOC_FL_ZERO_RANGE) {
|
||||
| ^~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/b96e3d364fd1f8bbfb18904a742e73327d308f64
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status: sent to qemu-devel@nongnu.org]
|
||||
---
|
||||
block/export/fuse.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/block/export/fuse.c b/block/export/fuse.c
|
||||
index ada9e263eb..07e31129a6 100644
|
||||
--- a/block/export/fuse.c
|
||||
+++ b/block/export/fuse.c
|
||||
@@ -635,6 +635,7 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t inode, int mode,
|
||||
offset += size;
|
||||
length -= size;
|
||||
} while (ret == 0 && length > 0);
|
||||
+#ifdef FALLOC_FL_ZERO_RANGE
|
||||
} else if (mode & FALLOC_FL_ZERO_RANGE) {
|
||||
if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + length > blk_len) {
|
||||
/* No need for zeroes, we are going to write them ourselves */
|
||||
@@ -654,6 +655,7 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t inode, int mode,
|
||||
offset += size;
|
||||
length -= size;
|
||||
} while (ret == 0 && length > 0);
|
||||
+#endif
|
||||
} else if (!mode) {
|
||||
/* We can only fallocate at the EOF with a truncate */
|
||||
if (offset < blk_len) {
|
||||
--
|
||||
2.30.2
|
||||
|
@ -5,14 +5,16 @@ config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
||||
|| BR2_x86_64 || BR2_arm \
|
||||
|| BR2_powerpc64 || BR2_powerpc64le
|
||||
|
||||
comment "QEMU requires a toolchain with wchar, threads"
|
||||
comment "QEMU requires a toolchain with wchar, threads, gcc >= 7"
|
||||
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
||||
depends on BR2_USE_MMU
|
||||
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR)
|
||||
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||
|
||||
config BR2_PACKAGE_QEMU
|
||||
bool "QEMU"
|
||||
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_USE_WCHAR # gettext
|
||||
depends on BR2_USE_MMU # fork()
|
||||
|
@ -37,6 +37,7 @@ config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||
config BR2_PACKAGE_HOST_QEMU
|
||||
bool "host qemu"
|
||||
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7
|
||||
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \
|
||||
if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE && BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE \
|
||||
@ -93,11 +94,7 @@ config BR2_PACKAGE_HOST_QEMU_VIRTFS
|
||||
|
||||
config BR2_PACKAGE_HOST_QEMU_USB
|
||||
bool "USB passthrough support"
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb
|
||||
help
|
||||
Enables USB passthrough support from guest to host.
|
||||
|
||||
comment "USB passthrough support needs a toolchain w/ host gcc >= 4.9"
|
||||
depends on !BR2_HOST_GCC_AT_LEAST_4_9
|
||||
|
||||
endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Locally computed, tarball verified with GPG signature
|
||||
sha256 87bc1a471ca24b97e7005711066007d443423d19aacda3d442558ae032fa30b9 qemu-6.0.0.tar.xz
|
||||
sha256 eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96 qemu-6.1.0.tar.xz
|
||||
sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
QEMU_VERSION = 6.0.0
|
||||
QEMU_VERSION = 6.1.0
|
||||
QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
|
||||
QEMU_SITE = http://download.qemu.org
|
||||
QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
|
||||
@ -186,6 +186,7 @@ define QEMU_CONFIGURE_CMDS
|
||||
--enable-kvm \
|
||||
--enable-attr \
|
||||
--enable-vhost-net \
|
||||
--disable-bpf \
|
||||
--disable-bsd-user \
|
||||
--disable-containers \
|
||||
--disable-xen \
|
||||
@ -215,7 +216,6 @@ define QEMU_CONFIGURE_CMDS
|
||||
--disable-opengl \
|
||||
--disable-vhost-user-blk-server \
|
||||
--disable-virtiofsd \
|
||||
--disable-tests \
|
||||
$(QEMU_OPTS)
|
||||
endef
|
||||
|
||||
@ -351,6 +351,7 @@ define HOST_QEMU_CONFIGURE_CMDS
|
||||
--extra-ldflags="$(HOST_LDFLAGS)" \
|
||||
--meson=$(HOST_DIR)/bin/meson \
|
||||
--ninja=$(HOST_DIR)/bin/ninja \
|
||||
--disable-bpf \
|
||||
--disable-bzip2 \
|
||||
--disable-containers \
|
||||
--disable-curl \
|
||||
@ -362,7 +363,6 @@ define HOST_QEMU_CONFIGURE_CMDS
|
||||
--disable-vnc-jpeg \
|
||||
--disable-vnc-png \
|
||||
--disable-vnc-sasl \
|
||||
--disable-tests \
|
||||
$(HOST_QEMU_OPTS)
|
||||
endef
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user