v3 changes:
- rebase the patchset against current code
-diff --git a/linux-user/main.c b/linux-user/main.c
-index ee12035..5951279 100644
---- a/linux-user/main.c
-+++ b/linux-user/main.c
-@@ -79,6 +79,7 @@ static void usage(int exitcode);
+diff -urNpa qemu-6.2.0.orig/linux-user/main.c qemu-6.2.0/linux-user/main.c
+--- qemu-6.2.0.orig/linux-user/main.c 2022-01-23 13:51:24.451951509 +0100
++++ qemu-6.2.0/linux-user/main.c 2022-01-23 13:53:07.574160010 +0100
+@@ -119,6 +119,7 @@ static void usage(int exitcode);
static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
const char *qemu_uname_release;
/* XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so
we allocate a bigger stack. Need a better solution, for example
-@@ -3828,6 +3829,11 @@ static void handle_arg_guest_base(const char *arg)
- have_guest_base = 1;
+@@ -338,6 +339,11 @@ static void handle_arg_guest_base(const
+ have_guest_base = true;
}
+static void handle_arg_execve(const char *arg)
static void handle_arg_reserved_va(const char *arg)
{
char *p;
-@@ -3913,6 +3919,8 @@ static const struct qemu_argument arg_table[] = {
+@@ -440,6 +446,8 @@ static const struct qemu_argument arg_ta
"uname", "set qemu uname release string to 'uname'"},
{"B", "QEMU_GUEST_BASE", true, handle_arg_guest_base,
"address", "set guest_base address to 'address'"},
{"R", "QEMU_RESERVED_VA", true, handle_arg_reserved_va,
"size", "reserve 'size' bytes for guest virtual address space"},
{"d", "QEMU_LOG", true, handle_arg_log,
-diff --git a/linux-user/qemu.h b/linux-user/qemu.h
-index bd90cc3..0d9b058 100644
---- a/linux-user/qemu.h
-+++ b/linux-user/qemu.h
-@@ -140,6 +140,7 @@ void init_task_state(TaskState *ts);
- void task_settid(TaskState *);
- void stop_all_tasks(void);
- extern const char *qemu_uname_release;
-+extern const char *qemu_execve_path;
- extern unsigned long mmap_min_addr;
-
- /* ??? See if we can avoid exposing so much of the loader internals. */
---- qemu-2.12.0/linux-user/syscall.c~ 2018-04-30 21:43:39.000000000 +0300
-+++ qemu-2.12.0/linux-user/syscall.c 2018-04-30 21:46:36.362935706 +0300
-@@ -5854,6 +5854,109 @@ static target_timer_t get_timer_id(abi_long arg)
+diff -urNpa qemu-6.2.0.orig/linux-user/syscall.c qemu-6.2.0/linux-user/syscall.c
+--- qemu-6.2.0.orig/linux-user/syscall.c 2022-01-23 13:51:24.453951513 +0100
++++ qemu-6.2.0/linux-user/syscall.c 2022-01-23 13:53:07.576160014 +0100
+@@ -8072,6 +8072,109 @@ static target_timer_t get_timer_id(abi_l
return timerid;
}
static int target_to_host_cpu_mask(unsigned long *host_mask,
size_t host_size,
abi_ulong target_addr,
-@@ -8257,7 +8257,12 @@
+@@ -8585,7 +8688,12 @@ static abi_long do_syscall1(void *cpu_en
* before the execve completes and makes it the other
* program's problem.
*/
unlock_user(p, arg1, 0);
goto execve_end;
+diff -urNpa qemu-6.2.0.orig/linux-user/user-internals.h qemu-6.2.0/linux-user/user-internals.h
+--- qemu-6.2.0.orig/linux-user/user-internals.h 2022-01-23 13:51:24.450951507 +0100
++++ qemu-6.2.0/linux-user/user-internals.h 2022-01-23 13:54:10.373286987 +0100
+@@ -28,6 +28,7 @@ void init_task_state(TaskState *ts);
+ void task_settid(TaskState *);
+ void stop_all_tasks(void);
+ extern const char *qemu_uname_release;
++extern const char *qemu_execve_path;
+ extern unsigned long mmap_min_addr;
+
+ typedef struct IOCTLEntry IOCTLEntry;
-Workaround <linux/xattr.h> vs <sys/xattr.h> defines conflict:
-When including both, the latter must be included first.
-Move "qemu-xattr.h" (which includes <sys/xattr.h> to the front,
-before <sys/capability.h> (which includes <linux/xattr.h>.
-
---- qemu-1.7.1/fsdev/virtfs-proxy-helper.c.orig 2014-03-25 15:01:10.000000000 +0100
-+++ qemu-1.7.1/fsdev/virtfs-proxy-helper.c 2014-04-03 02:55:41.115547990 +0200
+diff -ur qemu-6.2.0.orig/fsdev/virtfs-proxy-helper.c qemu-6.2.0/fsdev/virtfs-proxy-helper.c
+--- qemu-6.2.0.orig/fsdev/virtfs-proxy-helper.c 2022-01-23 13:45:27.232229307 +0100
++++ qemu-6.2.0/fsdev/virtfs-proxy-helper.c 2022-01-23 13:46:12.429320664 +0100
@@ -10,6 +10,7 @@
*/
#include <getopt.h>
#include <syslog.h>
@@ -23,7 +24,6 @@
- #endif
+ #include <cap-ng.h>
#include "qemu-common.h"
#include "qemu/sockets.h"
-#include "qemu/xattr.h"
#include "9p-iov-marshal.h"
#include "hw/9pfs/9p-proxy.h"
#include "fsdev/9p-iov-marshal.h"
-
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 6.1.0
+Version: 6.2.0
Release: 1
License: GPL v2, BSD (edk2 firmware files)
Group: Applications/Emulators
Source0: https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: 47f776c276a24f42108ba512a2aa3013
+# Source0-md5: a077669ce58b6ee07ec355e54aad25be
# Loads kvm kernel modules at boot
Source3: kvm-modules-load.conf
# Creates /dev/kvm
BuildRequires: spice-protocol >= 0.12.3
BuildRequires: spice-server-devel >= 0.12.5
%endif
-%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
+%{?with_systemtap:BuildRequires: systemtap-devel}
BuildRequires: texi2html
BuildRequires: texinfo
%{?with_multipath:BuildRequires: udev-devel}
--disable-slirp \
--disable-spice \
--disable-system \
- --disable-tcmalloc \
--disable-tools \
--enable-user \
--disable-xkbcommon \
%attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
%attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
%attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
+%attr(755,root,root) %{_libdir}/%{name}/audio-jack.so
%if %{with oss}
%attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
%endif
%attr(755,root,root) %{_bindir}/qemu-x86_64-static
%attr(755,root,root) %{_bindir}/qemu-xtensa-static
%attr(755,root,root) %{_bindir}/qemu-xtensaeb-static
+%if %{with systemtap}
%attr(755,root,root) %{_bindir}/qemu-trace-stap-static
%endif
+%endif
%files system-aarch64
%defattr(644,root,root,755)
%{_datadir}/%{name}/linuxboot.bin
%{_datadir}/%{name}/linuxboot_dma.bin
%{_datadir}/%{name}/multiboot.bin
+%{_datadir}/%{name}/multiboot_dma.bin
%{_datadir}/%{name}/pvh.bin
%{_datadir}/%{name}/pxe-e1000.rom
%{_datadir}/%{name}/pxe-eepro100.rom