qemu: Upgrade 6.1.0 -> 6.2.0

Add config option for pulseaudio
Change audio to default mode since quoting of list of devices is broken in meson
Drop patch where code changed completed upstream
Refresh other patches

(From OE-Core rev: c1685b06e5f3684b1b5631b99b412e3ec2b10800)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-12-19 14:57:27 +00:00
parent 6b70ea0443
commit 370fd9b3fb
8 changed files with 27 additions and 55 deletions

View File

@@ -22,7 +22,7 @@ BINUVERSION ?= "2.37%"
GDBVERSION ?= "11.%"
GLIBCVERSION ?= "2.34"
LINUXLIBCVERSION ?= "5.15%"
QEMUVERSION ?= "6.1%"
QEMUVERSION ?= "6.2%"
GOVERSION ?= "1.17%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump

View File

@@ -26,12 +26,11 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://mmap2.patch \
file://determinism.patch \
file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \
file://0001-linux-user-Replace-__u64-with-uint64_t.patch \
file://0001-riscv-Set-5.4-as-minimum-kernel-version-for-riscv32.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
SRC_URI[sha256sum] = "eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96"
SRC_URI[sha256sum] = "68e15d8e45ac56326e0b9a4afa8b49a3dfe8aba3488221d098c84698bca65b45"
SRC_URI:append:class-target = " file://cross.patch"
SRC_URI:append:class-nativesdk = " file://cross.patch"
@@ -173,7 +172,7 @@ PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle"
PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc"
PACKAGECONFIG[alsa] = "--audio-drv-list='oss alsa',,alsa-lib"
PACKAGECONFIG[alsa] = "--audio-drv-list=default,,alsa-lib"
PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,virtual/libgl"
PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
@@ -200,6 +199,7 @@ PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
# libnfs is currently provided by meta-kodi
PACKAGECONFIG[libnfs] = "--enable-libnfs,--disable-libnfs,libnfs"
PACKAGECONFIG[pmem] = "--enable-libpmem,--disable-libpmem,pmdk"
PACKAGECONFIG[pulsedio] = "--enable-pa,--disable-pa,pulseaudio"
INSANE_SKIP:${PN} = "arch"

View File

@@ -1,31 +0,0 @@
From 5cc7b63299602d0aa8b57c684bbd9829856d54ad Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 8 Nov 2021 11:39:26 -0800
Subject: [PATCH] linux-user: Replace __u64 with uint64_t
uint64_t is available in all userspaces via compiler include stdint.h
therefore use it instead of __u64 which is linux internal type, it fixes
build on some platforms eg. aarch64 systems using musl C library
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg01955.html]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
linux-user/host/aarch64/hostdep.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/host/aarch64/hostdep.h b/linux-user/host/aarch64/hostdep.h
index a8d41a21ad..34d934f665 100644
--- a/linux-user/host/aarch64/hostdep.h
+++ b/linux-user/host/aarch64/hostdep.h
@@ -25,7 +25,7 @@ extern char safe_syscall_end[];
static inline void rewind_if_in_safe_syscall(void *puc)
{
ucontext_t *uc = puc;
- __u64 *pcreg = &uc->uc_mcontext.pc;
+ uint64_t *pcreg = &uc->uc_mcontext.pc;
if (*pcreg > (uintptr_t)safe_syscall_start
&& *pcreg < (uintptr_t)safe_syscall_end) {
--
2.33.1

View File

@@ -16,16 +16,19 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
tests/meson.build | 2 +-
1 files changed, 1 insertions(+), 1 deletion(-)
Index: qemu-6.0.0/tests/unit/meson.build
Index: qemu-6.2.0/tests/unit/meson.build
===================================================================
--- qemu-6.0.0.orig/tests/unit/meson.build
+++ qemu-6.0.0/tests/unit/meson.build
@@ -42,7 +42,7 @@ tests = {
--- qemu-6.2.0.orig/tests/unit/meson.build
+++ qemu-6.2.0/tests/unit/meson.build
@@ -44,9 +44,9 @@ tests = {
'test-keyval': [testqapi],
'test-logging': [],
'test-uuid': [],
- 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / 'hw/core/ptimer.c'],
- 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'],
+ 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'],
'test-qapi-util': [],
- 'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c'],
+ 'test-smp-parse': [qom, '../../hw/core/machine-smp.c'],
}
if have_system or have_tools

View File

@@ -51,10 +51,10 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
qapi/char.json | 5 +++
3 files changed, 109 insertions(+)
Index: qemu-6.0.0/chardev/char-socket.c
Index: qemu-6.2.0/chardev/char-socket.c
===================================================================
--- qemu-6.0.0.orig/chardev/char-socket.c
+++ qemu-6.0.0/chardev/char-socket.c
--- qemu-6.2.0.orig/chardev/char-socket.c
+++ qemu-6.2.0/chardev/char-socket.c
@@ -1362,6 +1362,67 @@ static bool qmp_chardev_validate_socket(
return true;
}
@@ -133,7 +133,7 @@ Index: qemu-6.0.0/chardev/char-socket.c
bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
bool is_listen = sock->has_server ? sock->server : true;
bool is_telnet = sock->has_telnet ? sock->telnet : false;
@@ -1446,6 +1510,14 @@ static void qmp_chardev_open_socket(Char
@@ -1440,6 +1504,14 @@ static void qmp_chardev_open_socket(Char
update_disconnected_filename(s);
@@ -148,7 +148,7 @@ Index: qemu-6.0.0/chardev/char-socket.c
if (s->is_listen) {
if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
is_waitconnect, errp) < 0) {
@@ -1465,6 +1537,9 @@ static void qemu_chr_parse_socket(QemuOp
@@ -1459,6 +1531,9 @@ static void qemu_chr_parse_socket(QemuOp
const char *host = qemu_opt_get(opts, "host");
const char *port = qemu_opt_get(opts, "port");
const char *fd = qemu_opt_get(opts, "fd");
@@ -158,7 +158,7 @@ Index: qemu-6.0.0/chardev/char-socket.c
#ifdef CONFIG_LINUX
bool tight = qemu_opt_get_bool(opts, "tight", true);
bool abstract = qemu_opt_get_bool(opts, "abstract", false);
@@ -1472,6 +1547,20 @@ static void qemu_chr_parse_socket(QemuOp
@@ -1466,6 +1541,20 @@ static void qemu_chr_parse_socket(QemuOp
SocketAddressLegacy *addr;
ChardevSocket *sock;
@@ -179,7 +179,7 @@ Index: qemu-6.0.0/chardev/char-socket.c
if ((!!path + !!fd + !!host) != 1) {
error_setg(errp,
"Exactly one of 'path', 'fd' or 'host' required");
@@ -1522,13 +1611,24 @@ static void qemu_chr_parse_socket(QemuOp
@@ -1516,13 +1605,24 @@ static void qemu_chr_parse_socket(QemuOp
sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds"));
sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
@@ -194,7 +194,7 @@ Index: qemu-6.0.0/chardev/char-socket.c
if (path) {
+#endif
UnixSocketAddress *q_unix;
addr->type = SOCKET_ADDRESS_LEGACY_KIND_UNIX;
addr->type = SOCKET_ADDRESS_TYPE_UNIX;
q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
+#ifndef _WIN32
+ q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path);
@@ -204,11 +204,11 @@ Index: qemu-6.0.0/chardev/char-socket.c
#ifdef CONFIG_LINUX
q_unix->has_tight = true;
q_unix->tight = tight;
Index: qemu-6.0.0/chardev/char.c
Index: qemu-6.2.0/chardev/char.c
===================================================================
--- qemu-6.0.0.orig/chardev/char.c
+++ qemu-6.0.0/chardev/char.c
@@ -840,6 +840,9 @@ QemuOptsList qemu_chardev_opts = {
--- qemu-6.2.0.orig/chardev/char.c
+++ qemu-6.2.0/chardev/char.c
@@ -836,6 +836,9 @@ QemuOptsList qemu_chardev_opts = {
.name = "path",
.type = QEMU_OPT_STRING,
},{
@@ -218,10 +218,10 @@ Index: qemu-6.0.0/chardev/char.c
.name = "host",
.type = QEMU_OPT_STRING,
},{
Index: qemu-6.0.0/qapi/char.json
Index: qemu-6.2.0/qapi/char.json
===================================================================
--- qemu-6.0.0.orig/qapi/char.json
+++ qemu-6.0.0/qapi/char.json
--- qemu-6.2.0.orig/qapi/char.json
+++ qemu-6.2.0/qapi/char.json
@@ -250,6 +250,10 @@
#
# @addr: socket address to listen on (server=true)