Accepting request 854151 from home:bfrogers:branches:Virtualization
- Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2 Take note that ongoing feature deprecation is tracked at both http://wiki.qemu-project.org/Features/LegacyRemoval and in the deprecated.html file installed with the qemu package Some noteworthy changes: * Dropped system emulators: qemu-system-lm32, qemu-system-unicore32 * Dropped linux user emulator: qemu-ppc64abi32 * Added linux user emulator: qemu-extensaeb * Unicore32 and lm32 guest support dropped * New sub-packages (most due to ongoing modularization of QEMU): qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga, qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci, qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools * x86: A new KVM feature which improves the handling of asynchronous page faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8) * s390: More instructions emulated under TCG * PowerPC: nvdimm= machine option now functions correctly; misc improvements * ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based), raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+) * RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used when no -bios argument is supplied; Support for NUMA sockets on Virt and Spike Machines; Support for migrating machines; misc improvements * Misc NVMe improvements * The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend * The SMBIOS OEM strings can now come from a file * 9pfs - misc performance related improvements * virtiofs - misc improvements * migration: The default migration bandwidth has been increased to 1Gbps (users are still encouraged to tune it to their own hardware); The new 'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine the likelihood of precopy migration success; TLS+multifd now supported for higher bandwidth encrypted migration; misc minor features added * Misc minor block features added * Misc doc improvements * qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based, and the qboot based on is now qboot.rom * elf2dmp is no longer part of qemu-tools (it was never intended to be a packaged binary) * Some subpackages which were 'Requires' are now 'Recommends', allowing for a smaller qemu packaging footprint if needed * Patches dropped (included in release tarball, unless otherwise noted): docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently) hw-hyperv-vmbus-Fix-32bit-compilation.patch linux-user-properly-test-for-infinite-ti.patch Switch-order-of-libraries-for-mpath-supp.patch (fixed differently) Conditionalize-ui-bitmap-installation-be.patch (fixed differently) hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9) hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9) roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch) libvhost-user-handle-endianness-as-manda.patch virtio-add-vhost-user-fs-ccw-device.patch Fix-s-directive-argument-is-null-error.patch build-Workaround-compilation-error-with-.patch build-Be-explicit-about-fcommon-compiler.patch intel-Avoid-spurious-compiler-warning-on.patch golan-Add-explicit-type-casts-for-nodnic.patch Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch ensure-headers-included-are-compatible-w.patch Enable-cross-compile-prefix-for-C-compil.patch (fixed differently) hw-net-net_tx_pkt-fix-assertion-failure-.patch hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch s390x-protvirt-allow-to-IPL-secure-guest.patch usb-fix-setup_len-init-CVE-2020-14364.patch * Patches added: meson-install-ivshmem-client-and-ivshmem.patch Revert-roms-efirom-tests-uefi-test-tools.patch Makefile-Don-t-check-pc-bios-as-pre-requ.patch roms-Makefile-add-cross-file-to-qboot-me.patch qboot-add-cross.ini-file-to-handle-aarch.patch usb-Help-compiler-out-to-avoid-a-warning.patch - In spec file, where reasonable, switch BuildRequires: XXX-devel to be pkgconfig(XXX') instead - No longer disable link time optimization for qemu for x86. It looks like either the build service, qemu code changes and/or the switch to meson have resolved issues previously seen there. We still see problems for other architectures however. - For the record, the following issues reported for SUSE SLE15-SP2 are either fixed in this current package, or are otherwise no longer an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370 bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863 CVE-2020-16092 CVE-2020-24352 and the following feature requests are satisfied by this package: jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840 - To be more accurate, and to align with other qemu packaging practices, rename the qemu-s390 package to qemu-s390x. The old name (in the rpm namespace) is provided with a "Provides" directive, and an "Obsoletes" done against that name for prior qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060) - Take this opportunity to remove some ancient Split-Provides mechanisms which can't conceivably be needed any more: qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so qemu-guest-agent provided: qemu:%_bindir/qemu-ga qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper - Disable linux-user 'ls' test on 32 bit arm. It's failing with "Allocating guest commpage: Cannot allocate memory" error, which we should hunt down, but for now we don't want it to prevent the package from being built OBS-URL: https://build.opensuse.org/request/show/854151 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=597
This commit is contained in:
parent
db17e9c477
commit
fc6feafd4e
@ -1,29 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Wed, 23 Jan 2019 20:23:01 -0700
|
||||
Subject: Conditionalize ui bitmap installation better
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
Makefile | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e7116289550f169a65f8aecfeccf..3da7feaf0d9e9b3f1222efb8823b 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -970,6 +970,7 @@ ifneq ($(DESCS),)
|
||||
"$(DESTDIR)$(qemu_datadir)/firmware/$$x"; \
|
||||
done
|
||||
endif
|
||||
+ifneq ($(or $(CONFIG_GTK),$(CONFIG_SDL)),)
|
||||
for s in $(ICON_SIZES); do \
|
||||
mkdir -p "$(DESTDIR)$(qemu_icondir)/hicolor/$${s}/apps"; \
|
||||
$(INSTALL_DATA) $(SRC_PATH)/ui/icons/qemu_$${s}.png \
|
||||
@@ -984,6 +985,7 @@ endif
|
||||
mkdir -p "$(DESTDIR)$(qemu_desktopdir)"
|
||||
$(INSTALL_DATA) $(SRC_PATH)/ui/qemu.desktop \
|
||||
"$(DESTDIR)$(qemu_desktopdir)/qemu.desktop"
|
||||
+endif
|
||||
ifdef CONFIG_GTK
|
||||
$(MAKE) -C po $@
|
||||
endif
|
@ -1,67 +0,0 @@
|
||||
From: Michael Brown <mcb30@ipxe.org>
|
||||
Date: Mon, 22 Jul 2019 14:51:28 +0100
|
||||
Subject: Do not apply WORKAROUND_CFLAGS for host compiler
|
||||
|
||||
Git-commit: a4f8c6e31f6c62522cfc633bbbffa81b22f9d6f3
|
||||
Include-If: %ifarch aarch64
|
||||
|
||||
The WORKAROUND_CFLAGS list is constructed based on running tests on
|
||||
the target compiler, and the results may not be valid for the host
|
||||
compiler.
|
||||
|
||||
The only relevant workaround required for the host compiler is
|
||||
-Wno-stringop-truncation, which is needed to avoid a spurious compiler
|
||||
warning for a totally correct usage of strncpy() in util/elf2efi.c.
|
||||
|
||||
Duplicating the workaround tests for the host compiler is messy, as is
|
||||
conditionally applying __attribute__((nonstring)). Fix instead by
|
||||
disapplying WORKAROUND_CFLAGS for the host compiler, and using
|
||||
memcpy() with an explicitly calculated length instead of strncpy() in
|
||||
util/elf2efi.c.
|
||||
|
||||
Reported-by: Ignat Korchagin <ignat@cloudflare.com>
|
||||
Reported-by: Christopher Clark <christopher.w.clark@gmail.com>
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/Makefile.housekeeping | 2 +-
|
||||
src/util/elf2efi.c | 6 +++++-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping
|
||||
index d94eb1454c9168545c933ec6e900..9c33cc08c4db1bbd0f9966924fce 100644
|
||||
--- a/roms/ipxe/src/Makefile.housekeeping
|
||||
+++ b/roms/ipxe/src/Makefile.housekeeping
|
||||
@@ -455,7 +455,7 @@ endif
|
||||
CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS)
|
||||
ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)
|
||||
LDFLAGS += $(WORKAROUND_LDFLAGS) $(EXTRA_LDFLAGS)
|
||||
-HOST_CFLAGS += $(WORKAROUND_CFLAGS) -O2 -g
|
||||
+HOST_CFLAGS += -O2 -g
|
||||
|
||||
# Inhibit -Werror if NO_WERROR is specified on make command line
|
||||
#
|
||||
diff --git a/roms/ipxe/src/util/elf2efi.c b/roms/ipxe/src/util/elf2efi.c
|
||||
index 2c5b9df8aae853bfce4d5d3bae89..bcd53c9afda7880d42ec80c07f17 100644
|
||||
--- a/roms/ipxe/src/util/elf2efi.c
|
||||
+++ b/roms/ipxe/src/util/elf2efi.c
|
||||
@@ -458,6 +458,7 @@ static struct pe_section * process_section ( struct elf_file *elf,
|
||||
struct pe_header *pe_header ) {
|
||||
struct pe_section *new;
|
||||
const char *name;
|
||||
+ size_t name_len;
|
||||
size_t section_memsz;
|
||||
size_t section_filesz;
|
||||
unsigned long code_start;
|
||||
@@ -494,7 +495,10 @@ static struct pe_section * process_section ( struct elf_file *elf,
|
||||
memset ( new, 0, sizeof ( *new ) + section_filesz );
|
||||
|
||||
/* Fill in section header details */
|
||||
- strncpy ( ( char * ) new->hdr.Name, name, sizeof ( new->hdr.Name ) );
|
||||
+ name_len = strlen ( name );
|
||||
+ if ( name_len > sizeof ( new->hdr.Name ) )
|
||||
+ name_len = sizeof ( new->hdr.Name );
|
||||
+ memcpy ( new->hdr.Name, name, name_len );
|
||||
new->hdr.Misc.VirtualSize = section_memsz;
|
||||
new->hdr.VirtualAddress = shdr->sh_addr;
|
||||
new->hdr.SizeOfRawData = section_filesz;
|
@ -1,30 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Fri, 1 Nov 2019 19:41:52 -0600
|
||||
Subject: Enable cross compile prefix for C compiler invocation
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
Makefile | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/roms/qboot/Makefile b/roms/qboot/Makefile
|
||||
index adbf1b319e4a7bee78e2f95c5e51..cdde20fc37b13a1877668cd20e2f 100644
|
||||
--- a/roms/qboot/Makefile
|
||||
+++ b/roms/qboot/Makefile
|
||||
@@ -1,3 +1,4 @@
|
||||
+CROSS_COMPILE ?=
|
||||
obj-y = code16.o entry.o main.o string.o printf.o cstart.o fw_cfg.o
|
||||
obj-y += linuxboot.o malloc.o tables.o hwsetup.o pci.o code32seg.o
|
||||
obj-y += mptable.o
|
||||
@@ -25,9 +26,9 @@ autodepend-flags = -MMD -MF .deps/cc-$(patsubst %/,%,$(dir $*))-$(notdir $*).d
|
||||
|
||||
.PRECIOUS: %.o
|
||||
%.o: %.c
|
||||
- $(CC) $(CFLAGS) $(BIOS_CFLAGS) $($@-cflags) -c -s $< -o $@
|
||||
+ $(CROSS_COMPILE)$(CC) $(CFLAGS) $(BIOS_CFLAGS) $($@-cflags) -c -s $< -o $@
|
||||
%.o: %.S
|
||||
- $(CC) $(CFLAGS) $(BIOS_CFLAGS) -c -s $< -o $@
|
||||
+ $(CROSS_COMPILE)$(CC) $(CFLAGS) $(BIOS_CFLAGS) -c -s $< -o $@
|
||||
|
||||
bios.bin.elf: $(obj-y) flat.lds
|
||||
$(LD) -T flat.lds -o bios.bin.elf $(obj-y)
|
@ -1,35 +0,0 @@
|
||||
From: Valentine Barshak <gvaxon@gmail.com>
|
||||
Date: Sun, 9 Jun 2019 13:30:11 +0300
|
||||
Subject: Fix "'%s' directive argument is null" error
|
||||
|
||||
Git-commit: 412acd7854de10e7194f362a6b1a3257a17974f7
|
||||
References: bsc#1121464
|
||||
|
||||
Use '%p' directive, and print handle's address if the address is null
|
||||
and the handle doesn't have a name. This fixes the following
|
||||
compilation error:
|
||||
|
||||
interface/efi/efi_debug.c:334:3: error: '%s' directive
|
||||
argument is null [-Werror=format-overflow=]
|
||||
|
||||
Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/interface/efi/efi_debug.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/roms/ipxe/src/interface/efi/efi_debug.c b/roms/ipxe/src/interface/efi/efi_debug.c
|
||||
index 8ea0a822d044caca088c64ca2407..de9b1af5579cfddba1b55788b7b6 100644
|
||||
--- a/roms/ipxe/src/interface/efi/efi_debug.c
|
||||
+++ b/roms/ipxe/src/interface/efi/efi_debug.c
|
||||
@@ -331,8 +331,7 @@ void dbg_efi_protocols ( EFI_HANDLE handle ) {
|
||||
|
||||
/* Sanity check */
|
||||
if ( ! handle ) {
|
||||
- printf ( "HANDLE %s could not retrieve protocols\n",
|
||||
- efi_handle_name ( handle ) );
|
||||
+ printf ( "HANDLE %p could not retrieve protocols\n", handle );
|
||||
return;
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ index 6f980bb83647da13c62f514391b3..094bc6703a3febdf5fefb7c0024f 100644
|
||||
* set of muxes
|
||||
*/
|
||||
diff --git a/chardev/char.c b/chardev/char.c
|
||||
index 77e7ec814f2196d8352e2f3ec75e..bcdec537e8753025b715e75214e6 100644
|
||||
index aa4282164acabbba58a6eea76b8c..9add6ca377e402f5ce3215e4934d 100644
|
||||
--- a/chardev/char.c
|
||||
+++ b/chardev/char.c
|
||||
@@ -22,6 +22,7 @@
|
||||
@ -95,10 +95,10 @@ index 77e7ec814f2196d8352e2f3ec75e..bcdec537e8753025b715e75214e6 100644
|
||||
#include "qemu/cutils.h"
|
||||
#include "monitor/monitor.h"
|
||||
diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
|
||||
index f4d0429763bc28438e6cd6e7de1a..fc6cd39eb2d98af15aec25642438 100644
|
||||
index aba0240759ebf938cf391d89edb8..fb3957b771f9e24547619fd45669 100644
|
||||
--- a/chardev/chardev-internal.h
|
||||
+++ b/chardev/chardev-internal.h
|
||||
@@ -36,6 +36,9 @@ typedef struct MuxChardev {
|
||||
@@ -36,6 +36,9 @@ struct MuxChardev {
|
||||
Chardev parent;
|
||||
CharBackend *backends[MAX_MUX];
|
||||
CharBackend chr;
|
||||
@ -121,7 +121,7 @@ index eecdc615ee1c6c64060452ac837d..c052f101e89c193af1effa9c6fa5 100644
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "chardev/char.h"
|
||||
diff --git a/tests/test-char.c b/tests/test-char.c
|
||||
index d35cc839bc60db1884c3f265629b..51635ba059ef2302608459e84a65 100644
|
||||
index 9196e566e9ba671ed268a3178845..5d84a777738abfb28de151930c46 100644
|
||||
--- a/tests/test-char.c
|
||||
+++ b/tests/test-char.c
|
||||
@@ -1,3 +1,4 @@
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py
|
||||
index 95838cbff3f00f1ba097ee032032..d5f6c67bf1f7305461bb536f57b1 100755
|
||||
index d7177b212c86e826303bd93e74cb..502ae14111aa328e549b70ac66e7 100755
|
||||
--- a/scripts/analyze-migration.py
|
||||
+++ b/scripts/analyze-migration.py
|
||||
@@ -1,4 +1,4 @@
|
||||
|
25
Makefile-Don-t-check-pc-bios-as-pre-requ.patch
Normal file
25
Makefile-Don-t-check-pc-bios-as-pre-requ.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Mon, 19 Oct 2020 15:05:15 -0600
|
||||
Subject: Makefile: Don't check pc-bios as pre-requisite for config-host.mak
|
||||
|
||||
This check isn't needed when we know this is a fresh build, which of
|
||||
course it is when we are building the qemu packages.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 76dbb917f5cd3085ad93cb634c14..2e4808da4de018be61545ec681e3 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -105,7 +105,7 @@ x := $(shell rm -rf meson-private meson-info meson-logs)
|
||||
endif
|
||||
|
||||
# 1. ensure config-host.mak is up-to-date
|
||||
-config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios $(SRC_PATH)/VERSION
|
||||
+config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/VERSION
|
||||
@echo config-host.mak is out-of-date, running configure
|
||||
@if test -f meson-private/coredata.dat; then \
|
||||
./config.status --skip-meson; \
|
@ -10,14 +10,14 @@ KVM guests work there, even if possibly racy in some odd circumstances.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
exec.c | 2 ++
|
||||
softmmu/physmem.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/exec.c b/exec.c
|
||||
index 6f381f98e2a01c432c28c0c094db..0cec6a514147a1b90e2056f3eac4 100644
|
||||
--- a/exec.c
|
||||
+++ b/exec.c
|
||||
@@ -2328,11 +2328,13 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr,
|
||||
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
|
||||
index 3027747c0302c0904db2568eabb8..402a33cb95d898db6a951563c168 100644
|
||||
--- a/softmmu/physmem.c
|
||||
+++ b/softmmu/physmem.c
|
||||
@@ -1957,11 +1957,13 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/softmmu/vl.c b/softmmu/vl.c
|
||||
index 4eb9d1f7fd54f27583bfb1ce9407..c6e7530b012db308d0c607ec749d 100644
|
||||
index e6e0ad5a9259038413f855ef6374..eaab7bf13e8c51e93b3d0f348f06 100644
|
||||
--- a/softmmu/vl.c
|
||||
+++ b/softmmu/vl.c
|
||||
@@ -34,6 +34,7 @@
|
||||
@ -27,7 +27,7 @@ index 4eb9d1f7fd54f27583bfb1ce9407..c6e7530b012db308d0c607ec749d 100644
|
||||
#include "sysemu/seccomp.h"
|
||||
#include "sysemu/tcg.h"
|
||||
#include "sysemu/xen.h"
|
||||
@@ -2868,6 +2869,7 @@ void qemu_init(int argc, char **argv, char **envp)
|
||||
@@ -2899,6 +2900,7 @@ void qemu_init(int argc, char **argv, char **envp)
|
||||
BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
|
||||
QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
|
||||
int mem_prealloc = 0; /* force preallocation of physical target memory */
|
||||
@ -35,7 +35,7 @@ index 4eb9d1f7fd54f27583bfb1ce9407..c6e7530b012db308d0c607ec749d 100644
|
||||
|
||||
os_set_line_buffering();
|
||||
|
||||
@@ -2879,6 +2881,16 @@ void qemu_init(int argc, char **argv, char **envp)
|
||||
@@ -2910,6 +2912,16 @@ void qemu_init(int argc, char **argv, char **envp)
|
||||
|
||||
qemu_mutex_lock_iothread();
|
||||
|
||||
|
@ -27,10 +27,10 @@ index 758c7ac6c89978ee762e9d946584..2e2d6bca932c83bea993850b60f8 100644
|
||||
/**
|
||||
* qht_statistics_destroy - Destroy a &struct qht_stats
|
||||
diff --git a/util/qht.c b/util/qht.c
|
||||
index 67e5d5b9163f5f33e41f76a7cd26..a5a332d98998209875a47ebfdeee 100644
|
||||
index 079605121b1452dac9937b0e6137..cfc2c60639af8f7905aae51c53bb 100644
|
||||
--- a/util/qht.c
|
||||
+++ b/util/qht.c
|
||||
@@ -900,9 +900,9 @@ bool qht_resize(struct qht *ht, size_t n_elems)
|
||||
@@ -901,9 +901,9 @@ bool qht_resize(struct qht *ht, size_t n_elems)
|
||||
}
|
||||
|
||||
/* pass @stats to qht_statistics_destroy() when done */
|
||||
@ -41,8 +41,8 @@ index 67e5d5b9163f5f33e41f76a7cd26..a5a332d98998209875a47ebfdeee 100644
|
||||
+ struct qht_map *map;
|
||||
int i;
|
||||
|
||||
map = atomic_rcu_read(&ht->map);
|
||||
@@ -919,8 +919,8 @@ void qht_statistics_init(const struct qht *ht, struct qht_stats *stats)
|
||||
map = qatomic_rcu_read(&ht->map);
|
||||
@@ -920,8 +920,8 @@ void qht_statistics_init(const struct qht *ht, struct qht_stats *stats)
|
||||
stats->head_buckets = map->n_buckets;
|
||||
|
||||
for (i = 0; i < map->n_buckets; i++) {
|
||||
|
39
Revert-roms-efirom-tests-uefi-test-tools.patch
Normal file
39
Revert-roms-efirom-tests-uefi-test-tools.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Mon, 14 Sep 2020 14:15:00 -0600
|
||||
Subject: Revert "roms/efirom, tests/uefi-test-tools: update edk2's own
|
||||
submodules first"
|
||||
|
||||
This reverts commit ec87b5daca761039bbcf781eedbe4987f790836f.
|
||||
|
||||
No need. In our build system submodules are checked out.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
roms/Makefile | 1 -
|
||||
tests/uefi-test-tools/Makefile | 1 -
|
||||
2 files changed, 2 deletions(-)
|
||||
|
||||
diff --git a/roms/Makefile b/roms/Makefile
|
||||
index bbbe2eff895868b8a5781f6ca397..a91ffad548af3e95410ce6712fb3 100644
|
||||
--- a/roms/Makefile
|
||||
+++ b/roms/Makefile
|
||||
@@ -151,7 +151,6 @@ build-efi-roms: build-pxe-roms
|
||||
# efirom
|
||||
#
|
||||
edk2-basetools:
|
||||
- cd edk2/BaseTools && git submodule update --init --force
|
||||
$(MAKE) -C edk2/BaseTools \
|
||||
PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
|
||||
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \
|
||||
diff --git a/tests/uefi-test-tools/Makefile b/tests/uefi-test-tools/Makefile
|
||||
index 471f0de981090b3d419b8bc7890c..1dcddcdbbabf1c7dbea9c233d0ef 100644
|
||||
--- a/tests/uefi-test-tools/Makefile
|
||||
+++ b/tests/uefi-test-tools/Makefile
|
||||
@@ -99,7 +99,6 @@ Build/bios-tables-test.%.efi: build-edk2-tools
|
||||
+./build.sh $(edk2_dir) BiosTablesTest $* $@
|
||||
|
||||
build-edk2-tools:
|
||||
- cd $(edk2_dir)/BaseTools && git submodule update --init --force
|
||||
$(MAKE) -C $(edk2_dir)/BaseTools \
|
||||
PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
|
||||
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \
|
@ -1,36 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Fri, 3 Nov 2017 11:12:40 -0600
|
||||
Subject: Switch order of libraries for mpath support
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
configure | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 13dd708c4af52df3bc932812fc60..e7116289550f169a65f8aecfeccf 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -613,7 +613,7 @@ fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/9p-marshal
|
||||
|
||||
scsi/qemu-pr-helper$(EXESUF): scsi/qemu-pr-helper.o scsi/utils.o $(authz-obj-y) $(crypto-obj-y) $(io-obj-y) $(qom-obj-y) $(COMMON_LDADDS)
|
||||
ifdef CONFIG_MPATH
|
||||
-scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmultipath -lmpathpersist
|
||||
+scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmpathpersist -lmultipath
|
||||
endif
|
||||
|
||||
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
|
||||
diff --git a/configure b/configure
|
||||
index 2acc4d1465f8165ae3a238784231..a47fda0fb5267e153a3f1f3ee3bc 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4100,7 +4100,7 @@ int main(void) {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
- if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then
|
||||
+ if compile_prog "" "-ludev -lmpathpersist -lmultipath" ; then
|
||||
mpathpersist=yes
|
||||
mpathpersist_new_api=yes
|
||||
else
|
@ -8,7 +8,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
||||
index 8cf51ffecde659742b7aac6dfaae..08cb813a8a1782ed4b845d716ce2 100644
|
||||
index 73de934c65117c5caa0f2dabe8e2..be83f5e4030f2a6e90606f762396 100644
|
||||
--- a/linux-user/signal.c
|
||||
+++ b/linux-user/signal.c
|
||||
@@ -632,6 +632,10 @@ static void QEMU_NORETURN dump_core_and_abort(int target_sig)
|
||||
|
@ -16,10 +16,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
|
||||
index 26bac4f16c18a7d32b3821e5e3e6..81c2a3410319e6236c1a09b07bb1 100644
|
||||
index 669be5bbf61ecc9308bb4b25e2b8..bd1c7cc447bda59190590cb4551f 100644
|
||||
--- a/hw/acpi/piix4.c
|
||||
+++ b/hw/acpi/piix4.c
|
||||
@@ -275,7 +275,7 @@ static bool piix4_vmstate_need_smbus(void *opaque, int version_id)
|
||||
@@ -276,7 +276,7 @@ static bool piix4_vmstate_need_smbus(void *opaque, int version_id)
|
||||
static const VMStateDescription vmstate_acpi = {
|
||||
.name = "piix4_pm",
|
||||
.version_id = 3,
|
||||
|
@ -1,30 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Wed, 6 May 2020 15:03:02 -0600
|
||||
Subject: [build] Be explicit about -fcommon compiler directive
|
||||
|
||||
Git-commit: f982a712979619dbae2c6e0d741757e2ce94be11
|
||||
References: boo#1171140
|
||||
|
||||
gcc10 switched default behavior from -fcommon to -fno-common. Since
|
||||
"__shared" relies on the legacy behavior, explicitly specify it.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
Modified-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/Makefile.housekeeping | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping
|
||||
index 4b09e81f0b1eb82e79f6af11986d..f6f3e29248d3e59b76de690aeb0c 100644
|
||||
--- a/roms/ipxe/src/Makefile.housekeeping
|
||||
+++ b/roms/ipxe/src/Makefile.housekeeping
|
||||
@@ -422,6 +422,7 @@ CFLAGS += -Os
|
||||
CFLAGS += -g
|
||||
ifeq ($(CCTYPE),gcc)
|
||||
CFLAGS += -ffreestanding
|
||||
+CFLAGS += -fcommon
|
||||
CFLAGS += -Wall -W -Wformat-nonliteral
|
||||
HOST_CFLAGS += -Wall -W -Wformat-nonliteral
|
||||
endif
|
@ -1,54 +0,0 @@
|
||||
From: Valentine Barshak <gvaxon@gmail.com>
|
||||
Date: Mon, 22 Jul 2019 10:47:50 +0100
|
||||
Subject: [build] Workaround compilation error with gcc 9.1
|
||||
|
||||
Git-commit: 1dd56dbd11082fb622c2ed21cfaced4f47d798a6
|
||||
References: bsc#1121464
|
||||
|
||||
Compiling with gcc 9.1 generates lots of "taking address of packed
|
||||
member of ... may result in an unaligned pointer value" warnings.
|
||||
|
||||
Some of these warnings are genuine, and indicate correctly that parts
|
||||
of iPXE currently require the CPU (or runtime environment) to support
|
||||
unaligned accesses. For example: the TCP/IP receive data path will
|
||||
attempt to access 32-bit fields that may not be aligned to a 32-bit
|
||||
boundary.
|
||||
|
||||
Other warnings are either spurious (such as when the pointer is to a
|
||||
variable-length byte array, which can have no alignment requirement
|
||||
anyway) or unhelpful (such as when the pointer is used solely to
|
||||
provide a debug colour value for the DBGC() macro).
|
||||
|
||||
There appears to be no easy way to silence the spurious warnings.
|
||||
Since the ability to perform unaligned accesses is already a
|
||||
requirement for iPXE, work around the problem by silencing this class
|
||||
of warnings.
|
||||
|
||||
Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
|
||||
Modified-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/Makefile.housekeeping | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping
|
||||
index f8334921b8b93cbd03f0a0de9910..4b09e81f0b1eb82e79f6af11986d 100644
|
||||
--- a/roms/ipxe/src/Makefile.housekeeping
|
||||
+++ b/roms/ipxe/src/Makefile.housekeeping
|
||||
@@ -185,6 +185,15 @@ WNST_TEST = $(CC) -Wstringop-truncation -x c -c /dev/null -o /dev/null \
|
||||
>/dev/null 2>&1
|
||||
WNST_FLAGS := $(shell $(WNST_TEST) && $(ECHO) '-Wno-stringop-truncation')
|
||||
WORKAROUND_CFLAGS += $(WNST_FLAGS)
|
||||
+
|
||||
+# gcc 9.1 generates warnings for taking address of packed member which
|
||||
+# may result in an unaligned pointer value. Inhibit the warnings.
|
||||
+#
|
||||
+WNAPM_TEST = $(CC) -Wno-address-of-packed-member -x c -c /dev/null \
|
||||
+ -o /dev/null >/dev/null 2>&1
|
||||
+WNAPM_FLAGS := $(shell $(WNAPM_TEST) && \
|
||||
+ $(ECHO) '-Wno-address-of-packed-member')
|
||||
+WORKAROUND_CFLAGS += $(WNAPM_FLAGS)
|
||||
endif
|
||||
|
||||
# Some versions of gas choke on division operators, treating them as
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9544eda1805358a45c48f47fa30a2759ccc79bbfb4f35ac3b4644d228db99858
|
||||
size 38124
|
||||
oid sha256:1a1a89b8155d9fe84ce29e1c725fd7523c807b8a30e801a297a89901a1817058
|
||||
size 39184
|
||||
|
27
config.sh
27
config.sh
@ -7,12 +7,12 @@
|
||||
# The following specifies the upstream tag or commit upon which our patchqueue
|
||||
# gets rebased. The special value LATEST may be used to "automatically" track
|
||||
# the upstream development tree in the master branch
|
||||
GIT_UPSTREAM_COMMIT_ISH=v5.1.0
|
||||
GIT_UPSTREAM_COMMIT_ISH=v5.2.0
|
||||
# WARNING: If transitioning from using LATEST to not, MANUALLY re-set the
|
||||
# tarball present. If transitioning TO LATEST, make sure that
|
||||
# NEXT_RELEASE_IS_MAJOR is set correctly
|
||||
# This is used to choose the version number when LATEST processing is active
|
||||
NEXT_RELEASE_IS_MAJOR=0
|
||||
NEXT_RELEASE_IS_MAJOR=1
|
||||
|
||||
# Unfortunately, SeaBIOS doesn't always follow an "always increasing" version
|
||||
# model, so there may be times we should overide the automated version setting.
|
||||
@ -28,7 +28,7 @@ BUNDLE_DIR=/dev/shm/qemu-factory-bundle-dir
|
||||
NUMBERED_PATCHES=0
|
||||
|
||||
PATCH_RANGE=1000
|
||||
REPO_COUNT=26
|
||||
REPO_COUNT=36
|
||||
|
||||
# Perhaps we need to instead use the terminal local dirname as the index
|
||||
# and store the ~/git/ as a separate VARIABLE
|
||||
@ -55,12 +55,22 @@ LOCAL_REPO_MAP=(
|
||||
~/git/qemu-seabios-hppa
|
||||
~/git/qemu-u-boot-sam460ex
|
||||
~/git/qemu-QemuMacDrivers
|
||||
~/git/qemu-meson
|
||||
~/git/qemu-tests-berkeley-softfloat-3
|
||||
~/git/qemu-tests-berkeley-testfloat-3
|
||||
~/git/qemu-edk2-berkeley-softfloat-3
|
||||
~/git/qemu-edk2-openssl-boringssl
|
||||
~/git/qemu-edk2-openssl-krb5
|
||||
~/git/qemu-edk2-openssl-pyca-cryptography
|
||||
~/git/qemu-edk2-BrotliCompress-brotli
|
||||
~/git/qemu-edk2-BrotliCustomDecompressLib-brotli
|
||||
~/git/qemu-edk2-oniguruma
|
||||
~/git/qemu-edk2-cmocka
|
||||
~/git/qemu-vbootrom
|
||||
~/git/qemu-edk2-BrotliCustomDecompressLib-brotli-research-esaxx
|
||||
~/git/qemu-edk2-BrotliCustomDecompressLib-brotli-research-libdivsufsort
|
||||
~/git/qemu-edk2-BrotliCompress-brotli-research-esaxx
|
||||
~/git/qemu-edk2-BrotliCompress-brotli-research-libdivsufsort
|
||||
)
|
||||
|
||||
# TEMPORARY! FOR NOW WE REQUIRE THESE LOCALLY TO DO WORK ON PACKAGE
|
||||
@ -94,12 +104,23 @@ PATCH_PATH_MAP=(
|
||||
"roms/seabios-hppa/"
|
||||
"roms/u-boot-sam460ex/"
|
||||
"roms/QemuMacDrivers/"
|
||||
"meson/"
|
||||
"tests/fp/berkeley-softfloat-3/"
|
||||
"tests/fp/berkeley-testfloat-3/"
|
||||
"roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3/"
|
||||
"roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl/"
|
||||
"roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/"
|
||||
"roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/"
|
||||
"roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/"
|
||||
"roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/"
|
||||
"roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma/"
|
||||
"roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka/"
|
||||
"roms/vbootrom/"
|
||||
"roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/research/esaxx/"
|
||||
"roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/research/libdivsufsort/"
|
||||
"roms/edk2/MdeModulePkg/Library/BrotliCompress/brotli/research/esaxx/"
|
||||
"roms/edk2/MdeModulePkg/Library/BrotliCompress/brotli/research/libdivsufsort/"
|
||||
|
||||
)
|
||||
|
||||
# Zero based numbering, so we subtract 1 here:
|
||||
|
@ -12,10 +12,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index a47fda0fb5267e153a3f1f3ee3bc..3b3c5dc2f93b87a91d247079f4c8 100755
|
||||
index 18c26e0389741643748c70ac7788..b9c4fec9793d2815e52479779d10 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6770,7 +6770,7 @@ if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \
|
||||
@@ -5860,7 +5860,7 @@ if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \
|
||||
fi
|
||||
|
||||
# Only build s390-ccw bios if we're on s390x and the compiler has -march=z900
|
||||
|
@ -18,10 +18,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 3b3c5dc2f93b87a91d247079f4c8..4340229b47a3294307a08df3339e 100755
|
||||
index b9c4fec9793d2815e52479779d10..379a03b111d9e7a80e5717782953 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7229,7 +7229,7 @@ fi
|
||||
@@ -6047,7 +6047,7 @@ echo "TARGET_DIRS=$target_list" >> $config_host_mak
|
||||
if test "$modules" = "yes"; then
|
||||
# $shacmd can generate a hash started with digit, which the compiler doesn't
|
||||
# like as an symbol. So prefix it with an underscore
|
||||
|
@ -14,12 +14,12 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/docs/index.html.in b/docs/index.html.in
|
||||
index 6736fa4360cfb8c40cbab2a362b0..ad431321ee858bcbe3e237e687b5 100644
|
||||
index 33db4396ac83b95b60ef16580d31..ba157bf3c8dcace7149eabf171af 100644
|
||||
--- a/docs/index.html.in
|
||||
+++ b/docs/index.html.in
|
||||
@@ -7,6 +7,7 @@
|
||||
<body>
|
||||
<h1>QEMU @@VERSION@@ Documentation</h1>
|
||||
<h1>QEMU @VERSION@ Documentation</h1>
|
||||
<ul>
|
||||
+ <li><a href="/usr/share/doc/packages/qemu-kvm/kvm-supported.html">SUSE Support Statements</a></li>
|
||||
<li><a href="system/index.html">System Emulation User's Guide</a></li>
|
||||
|
@ -1,62 +0,0 @@
|
||||
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
|
||||
Date: Tue, 14 Jul 2020 17:26:59 +0100
|
||||
Subject: docs: fix trace docs build with sphinx 3.1.1
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Git-commit: 0000000000000000000000000000000000000000
|
||||
Include-If: %if 0%{?suse_version} > 1500
|
||||
|
||||
In Fedora 33 rawhide, we now have sphinx 3.1.1, as opposed
|
||||
to previous 2.2.2. This new version generates a warning on
|
||||
the source:
|
||||
|
||||
docs/qemu-option-trace.rst.inc:4:Malformed option description
|
||||
'[enable=]PATTERN', should look like "opt", "-opt args",
|
||||
"--opt args", "/opt args" or "+opt args"
|
||||
|
||||
This turns into an error when QEMU passes -W to sphinx-build
|
||||
|
||||
Strangely the previous 2.2.2 code has the exact same logic
|
||||
for checking the syntax, but it is not being triggered. While
|
||||
it is only complaining about the first option, I changed all
|
||||
the options to give consistency.
|
||||
|
||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
docs/qemu-option-trace.rst.inc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/qemu-option-trace.rst.inc b/docs/qemu-option-trace.rst.inc
|
||||
index 7e09773a9c518f6a47e9262b66c6..e79b0b43fcb3f5a05ad281109e6f 100644
|
||||
--- a/docs/qemu-option-trace.rst.inc
|
||||
+++ b/docs/qemu-option-trace.rst.inc
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Specify tracing options.
|
||||
|
||||
-.. option:: [enable=]PATTERN
|
||||
+.. option:: -trace [enable=]PATTERN
|
||||
|
||||
Immediately enable events matching *PATTERN*
|
||||
(either event name or a globbing pattern). This option is only
|
||||
@@ -11,7 +11,7 @@ Specify tracing options.
|
||||
|
||||
Use :option:`-trace help` to print a list of names of trace points.
|
||||
|
||||
-.. option:: events=FILE
|
||||
+.. option:: -trace events=FILE
|
||||
|
||||
Immediately enable events listed in *FILE*.
|
||||
The file must contain one event name (as listed in the ``trace-events-all``
|
||||
@@ -19,7 +19,7 @@ Specify tracing options.
|
||||
available if QEMU has been compiled with the ``simple``, ``log`` or
|
||||
``ftrace`` tracing backend.
|
||||
|
||||
-.. option:: file=FILE
|
||||
+.. option:: -trace file=FILE
|
||||
|
||||
Log output traces to *FILE*.
|
||||
This option is only available if QEMU has been compiled with
|
@ -1,52 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Fri, 1 Nov 2019 19:32:57 -0600
|
||||
Subject: ensure headers included are compatible with freestanding mode
|
||||
|
||||
Certain standard headers are designated for use in freestanding mode
|
||||
while others are prohibited. To conform to these rules, use <stdint.h>
|
||||
instead of <inttypes.h> as well as switch one <string.h> reference to
|
||||
the "string.h" implemented in project.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
include/bios.h | 2 +-
|
||||
malloc.c | 2 +-
|
||||
pci.c | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/roms/qboot/include/bios.h b/roms/qboot/include/bios.h
|
||||
index f36638b977864c220bf3ed9a612f..7f8f677671d7b47e7c07f800646c 100644
|
||||
--- a/roms/qboot/include/bios.h
|
||||
+++ b/roms/qboot/include/bios.h
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef BIOS_H_
|
||||
#define BIOS_H_
|
||||
|
||||
-#include <inttypes.h>
|
||||
+#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
diff --git a/roms/qboot/malloc.c b/roms/qboot/malloc.c
|
||||
index 8738373b774358425b2767fc7e9f..bd0ac0f23ee1e3c4a8f5e003ff1d 100644
|
||||
--- a/roms/qboot/malloc.c
|
||||
+++ b/roms/qboot/malloc.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-#include <inttypes.h>
|
||||
+#include <stdint.h>
|
||||
#include "string.h"
|
||||
#include "bios.h"
|
||||
|
||||
diff --git a/roms/qboot/pci.c b/roms/qboot/pci.c
|
||||
index 65c9e81793ab7aad9b5d1679e78e..63ebda6a0580463ea2b562317cec 100644
|
||||
--- a/roms/qboot/pci.c
|
||||
+++ b/roms/qboot/pci.c
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "bios.h"
|
||||
#include "ioport.h"
|
||||
#include "pci.h"
|
||||
-#include <string.h>
|
||||
+#include "string.h"
|
||||
|
||||
static uint16_t addend;
|
||||
static uint8_t bus, bridge_head;
|
@ -1,43 +0,0 @@
|
||||
From: Michael Brown <mcb30@ipxe.org>
|
||||
Date: Sat, 27 Jun 2020 20:43:32 +0100
|
||||
Subject: [golan] Add explicit type casts for nodnic_queue_pair_type
|
||||
|
||||
Git-commit: 8a1d66c7aec020f3e90254ed2fa55ecd9494fcc3
|
||||
References: boo#1171139
|
||||
|
||||
GCC 10 emits warnings for implicit conversions of enumerated types.
|
||||
|
||||
The flexboot_nodnic code defines nodnic_queue_pair_type with values
|
||||
identical to those of ib_queue_pair_type, and implicitly casts between
|
||||
them. Add an explicit cast to fix the warning.
|
||||
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/drivers/infiniband/flexboot_nodnic.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/roms/ipxe/src/drivers/infiniband/flexboot_nodnic.c b/roms/ipxe/src/drivers/infiniband/flexboot_nodnic.c
|
||||
index c13fcefc56866da67d701baa96b8..4463bb78458cbeadd962ed7909ef 100644
|
||||
--- a/roms/ipxe/src/drivers/infiniband/flexboot_nodnic.c
|
||||
+++ b/roms/ipxe/src/drivers/infiniband/flexboot_nodnic.c
|
||||
@@ -365,7 +365,8 @@ static int flexboot_nodnic_create_qp ( struct ib_device *ibdev,
|
||||
goto qp_alloc_err;
|
||||
}
|
||||
|
||||
- status = nodnic_port_create_qp(&port->port_priv, qp->type,
|
||||
+ status = nodnic_port_create_qp(&port->port_priv,
|
||||
+ (nodnic_queue_pair_type) qp->type,
|
||||
qp->send.num_wqes * sizeof(struct nodnic_send_wqbb),
|
||||
qp->send.num_wqes,
|
||||
qp->recv.num_wqes * sizeof(struct nodnic_recv_wqe),
|
||||
@@ -406,7 +407,8 @@ static void flexboot_nodnic_destroy_qp ( struct ib_device *ibdev,
|
||||
struct flexboot_nodnic_port *port = &flexboot_nodnic->port[ibdev->port - 1];
|
||||
struct flexboot_nodnic_queue_pair *flexboot_nodnic_qp = ib_qp_get_drvdata ( qp );
|
||||
|
||||
- nodnic_port_destroy_qp(&port->port_priv, qp->type,
|
||||
+ nodnic_port_destroy_qp(&port->port_priv,
|
||||
+ (nodnic_queue_pair_type) qp->type,
|
||||
flexboot_nodnic_qp->nodnic_queue_pair);
|
||||
|
||||
free(flexboot_nodnic_qp);
|
@ -1,43 +0,0 @@
|
||||
From: Jon Doron <arilou@gmail.com>
|
||||
Date: Wed, 15 Jul 2020 11:43:26 +0300
|
||||
Subject: hw: hyperv: vmbus: Fix 32bit compilation
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Git-commit: 8b39aa90e90e9c04d07b0fbb583195237f3f11fe
|
||||
|
||||
Fix 32-bit build error for vmbus:
|
||||
|
||||
hw/hyperv/vmbus.c: In function ‘gpadl_iter_io’:
|
||||
hw/hyperv/vmbus.c:383:13: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
|
||||
383 | p = (void *)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | off_in_page);
|
||||
| ^
|
||||
cc1: all warnings being treated as errors
|
||||
|
||||
Fixes: 0d71f7082d7 ("vmbus: vmbus implementation")
|
||||
Signed-off-by: Jon Doron <arilou@gmail.com>
|
||||
Tested-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
|
||||
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
|
||||
Message-Id: <20200715084326.678715-3-arilou@gmail.com>
|
||||
[lv: updated with commit description from <20200906050113.2783642-1-richard.henderson@linaro.org>]
|
||||
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
hw/hyperv/vmbus.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c
|
||||
index 34392e892af6228f270ec327563e..c28bb4201be449eb6dae4b0e0218 100644
|
||||
--- a/hw/hyperv/vmbus.c
|
||||
+++ b/hw/hyperv/vmbus.c
|
||||
@@ -383,7 +383,8 @@ static ssize_t gpadl_iter_io(GpadlIter *iter, void *buf, uint32_t len)
|
||||
}
|
||||
}
|
||||
|
||||
- p = (void *)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | off_in_page);
|
||||
+ p = (void *)(uintptr_t)(((uintptr_t)iter->map & TARGET_PAGE_MASK) |
|
||||
+ off_in_page);
|
||||
if (iter->dir == DMA_DIRECTION_FROM_DEVICE) {
|
||||
memcpy(p, buf, cplen);
|
||||
} else {
|
@ -41,7 +41,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/intc/exynos4210_gic.c b/hw/intc/exynos4210_gic.c
|
||||
index 0aa3b843a9e045348b719cb4b8a4..83506dda3c9142350319d7f4dd5c 100644
|
||||
index bc73d1f1152438de04c252a2ec84..db58021ef62cdf8554d7e00e0761 100644
|
||||
--- a/hw/intc/exynos4210_gic.c
|
||||
+++ b/hw/intc/exynos4210_gic.c
|
||||
@@ -291,8 +291,8 @@ static void exynos4210_gic_realize(DeviceState *dev, Error **errp)
|
||||
|
@ -16,10 +16,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 39 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
|
||||
index f56082690437df2962681ea823d3..4ad74efc8e764429b5567c91d7ed 100644
|
||||
index 6a3d39793bc9dd13f6c6cc8c08e4..e3c9d92c1d60c0f791c5852f88e5 100644
|
||||
--- a/hw/smbios/smbios.c
|
||||
+++ b/hw/smbios/smbios.c
|
||||
@@ -962,6 +962,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
@@ -1040,6 +1040,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
struct smbios_structure_header *header;
|
||||
int size;
|
||||
struct smbios_table *table; /* legacy mode only */
|
||||
@ -27,7 +27,7 @@ index f56082690437df2962681ea823d3..4ad74efc8e764429b5567c91d7ed 100644
|
||||
|
||||
if (!qemu_opts_validate(opts, qemu_smbios_file_opts, errp)) {
|
||||
return;
|
||||
@@ -974,11 +975,21 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
@@ -1052,11 +1053,21 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
}
|
||||
|
||||
/*
|
||||
@ -53,7 +53,7 @@ index f56082690437df2962681ea823d3..4ad74efc8e764429b5567c91d7ed 100644
|
||||
header = (struct smbios_structure_header *)(smbios_tables +
|
||||
smbios_tables_len);
|
||||
|
||||
@@ -993,6 +1004,19 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
@@ -1071,6 +1082,19 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
header->type);
|
||||
return;
|
||||
}
|
||||
@ -73,7 +73,7 @@ index f56082690437df2962681ea823d3..4ad74efc8e764429b5567c91d7ed 100644
|
||||
set_bit(header->type, have_binfile_bitmap);
|
||||
|
||||
if (header->type == 4) {
|
||||
@@ -1013,6 +1037,17 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
@@ -1091,6 +1115,17 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
|
||||
* delete the one we don't need from smbios_set_defaults(),
|
||||
* once we know which machine version has been requested.
|
||||
*/
|
||||
|
@ -1,45 +0,0 @@
|
||||
From: Alistair Francis <Alistair.Francis@wdc.com>
|
||||
Date: Sat, 4 May 2019 07:58:55 -0600
|
||||
Subject: hw/usb/dev-mtp: Fix GCC 9 build warning
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix this warning with GCC 9 on Fedora 30:
|
||||
hw/usb/dev-mtp.c:1715:36: error: taking address of packed member of struct <anonymous> may result in an unaligned pointer value [-Werror=address-of-packed-member]
|
||||
1715 | dataset->filename);
|
||||
| ~~~~~~~^~~~~~~~~~
|
||||
|
||||
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
hw/usb/dev-mtp.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
|
||||
index 15a2243101f8c465e038e26c6551..d4d3a388f2034d735a6595fdaa36 100644
|
||||
--- a/hw/usb/dev-mtp.c
|
||||
+++ b/hw/usb/dev-mtp.c
|
||||
@@ -1721,9 +1721,22 @@ static void usb_mtp_write_metadata(MTPState *s, uint64_t dlen)
|
||||
assert(!s->write_pending);
|
||||
assert(p != NULL);
|
||||
|
||||
+/*
|
||||
+ * We are about to access a packed struct. We are confident that the pointer
|
||||
+ * address won't be unaligned, so we ignore GCC warnings.
|
||||
+ */
|
||||
+#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && QEMU_GNUC_PREREQ(9, 0)
|
||||
+#pragma GCC diagnostic push
|
||||
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
|
||||
+#endif
|
||||
+
|
||||
filename = utf16_to_str(MIN(dataset->length, filename_chars),
|
||||
dataset->filename);
|
||||
|
||||
+#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && QEMU_GNUC_PREREQ(9, 0)
|
||||
+#pragma GCC diagnostic pop
|
||||
+#endif
|
||||
+
|
||||
if (strchr(filename, '/')) {
|
||||
usb_mtp_queue_result(s, RES_PARAMETER_NOT_SUPPORTED, d->trans,
|
||||
0, 0, 0, 0);
|
@ -1,41 +0,0 @@
|
||||
From: Alistair Francis <Alistair.Francis@wdc.com>
|
||||
Date: Sat, 4 May 2019 07:58:35 -0600
|
||||
Subject: hw/usb/hcd-xhci: Fix GCC 9 build warning
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix this build warning with GCC 9 on Fedora 30:
|
||||
hw/usb/hcd-xhci.c:3339:66: error: %d directive output may be truncated writing between 1 and 10 bytes into a region of size 5 [-Werror=format-truncation=]
|
||||
3339 | snprintf(port->name, sizeof(port->name), "usb2 port #%d", i+1);
|
||||
| ^~
|
||||
hw/usb/hcd-xhci.c:3339:54: note: directive argument in the range [1, 2147483647]
|
||||
3339 | snprintf(port->name, sizeof(port->name), "usb2 port #%d", i+1);
|
||||
| ^~~~~~~~~~~~~~~
|
||||
In file included from /usr/include/stdio.h:867,
|
||||
from /home/alistair/qemu/include/qemu/osdep.h:99,
|
||||
from hw/usb/hcd-xhci.c:21:
|
||||
/usr/include/bits/stdio2.h:67:10: note: __builtin___snprintf_chk output between 13 and 22 bytes into a destination of size 16
|
||||
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
68 | __bos (__s), __fmt, __va_arg_pack ());
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
hw/usb/hcd-xhci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
|
||||
index 67a18fe2b64c2cc0f77be5897c5d..79386df49b7aaec7c2f2b4c19b6f 100644
|
||||
--- a/hw/usb/hcd-xhci.c
|
||||
+++ b/hw/usb/hcd-xhci.c
|
||||
@@ -3340,6 +3340,7 @@ static void usb_xhci_init(XHCIState *xhci)
|
||||
usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev);
|
||||
|
||||
for (i = 0; i < usbports; i++) {
|
||||
+ g_assert(i < MAX(MAXPORTS_2, MAXPORTS_3));
|
||||
speedmask = 0;
|
||||
if (i < xhci->numports_2) {
|
||||
if (xhci_get_flag(xhci, XHCI_FLAG_SS_FIRST)) {
|
@ -18,10 +18,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
|
||||
index e1a5c174dce15c4620bb94bc2826..2dc6d4ae0b61303401cc08bfb7ae 100644
|
||||
index 88e8586f8fb46293810cb34a06a0..a72134a1874f2d7b3ab7c8f4fd59 100644
|
||||
--- a/target/i386/cpu.h
|
||||
+++ b/target/i386/cpu.h
|
||||
@@ -1963,7 +1963,7 @@ uint64_t cpu_get_tsc(CPUX86State *env);
|
||||
@@ -1961,7 +1961,7 @@ uint64_t cpu_get_tsc(CPUX86State *env);
|
||||
/* XXX: This value should match the one returned by CPUID
|
||||
* and in exec.c */
|
||||
# if defined(TARGET_X86_64)
|
||||
|
@ -1,89 +0,0 @@
|
||||
From: Michael Brown <mcb30@ipxe.org>
|
||||
Date: Sat, 27 Jun 2020 20:21:11 +0100
|
||||
Subject: [intel] Avoid spurious compiler warning on GCC 10
|
||||
|
||||
Git-commit: 28cf9806d1632d378485005babec295da0c77fcf
|
||||
References: boo#1171123
|
||||
|
||||
GCC 10 produces a spurious warning about an out-of-bounds array access
|
||||
for the unsized raw dword array in union intelvf_msg.
|
||||
|
||||
Avoid the warning by embedding the zero-length array within a struct.
|
||||
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
src/drivers/net/intelvf.c | 18 ++++++++++--------
|
||||
src/drivers/net/intelvf.h | 8 +++++++-
|
||||
2 files changed, 17 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/roms/ipxe/src/drivers/net/intelvf.c b/roms/ipxe/src/drivers/net/intelvf.c
|
||||
index ac6fea745457863544edf6658138..0d48b4178cb5aa0542ba7c507d04 100644
|
||||
--- a/roms/ipxe/src/drivers/net/intelvf.c
|
||||
+++ b/roms/ipxe/src/drivers/net/intelvf.c
|
||||
@@ -52,14 +52,15 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
*/
|
||||
static void intelvf_mbox_write ( struct intel_nic *intel,
|
||||
const union intelvf_msg *msg ) {
|
||||
+ const struct intelvf_msg_raw *raw = &msg->raw;
|
||||
unsigned int i;
|
||||
|
||||
/* Write message */
|
||||
DBGC2 ( intel, "INTEL %p sending message", intel );
|
||||
- for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( msg->dword[0] ) ) ; i++){
|
||||
- DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), msg->dword[i] );
|
||||
- writel ( msg->dword[i], ( intel->regs + intel->mbox.mem +
|
||||
- ( i * sizeof ( msg->dword[0] ) ) ) );
|
||||
+ for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( raw->dword[0] ) ) ; i++){
|
||||
+ DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), raw->dword[i] );
|
||||
+ writel ( raw->dword[i], ( intel->regs + intel->mbox.mem +
|
||||
+ ( i * sizeof ( raw->dword[0] ) ) ) );
|
||||
}
|
||||
DBGC2 ( intel, "\n" );
|
||||
}
|
||||
@@ -72,14 +73,15 @@ static void intelvf_mbox_write ( struct intel_nic *intel,
|
||||
*/
|
||||
static void intelvf_mbox_read ( struct intel_nic *intel,
|
||||
union intelvf_msg *msg ) {
|
||||
+ struct intelvf_msg_raw *raw = &msg->raw;
|
||||
unsigned int i;
|
||||
|
||||
/* Read message */
|
||||
DBGC2 ( intel, "INTEL %p received message", intel );
|
||||
- for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( msg->dword[0] ) ) ; i++){
|
||||
- msg->dword[i] = readl ( intel->regs + intel->mbox.mem +
|
||||
- ( i * sizeof ( msg->dword[0] ) ) );
|
||||
- DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), msg->dword[i] );
|
||||
+ for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( raw->dword[0] ) ) ; i++){
|
||||
+ raw->dword[i] = readl ( intel->regs + intel->mbox.mem +
|
||||
+ ( i * sizeof ( raw->dword[0] ) ) );
|
||||
+ DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), raw->dword[i] );
|
||||
}
|
||||
DBGC2 ( intel, "\n" );
|
||||
}
|
||||
diff --git a/roms/ipxe/src/drivers/net/intelvf.h b/roms/ipxe/src/drivers/net/intelvf.h
|
||||
index ab404698fe6de9f48370931fdf56..ffb18e04052f1b4a6fe406f5062c 100644
|
||||
--- a/roms/ipxe/src/drivers/net/intelvf.h
|
||||
+++ b/roms/ipxe/src/drivers/net/intelvf.h
|
||||
@@ -119,6 +119,12 @@ struct intelvf_msg_queues {
|
||||
uint32_t dflt;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
+/** Raw mailbox message */
|
||||
+struct intelvf_msg_raw {
|
||||
+ /** Raw dwords */
|
||||
+ uint32_t dword[0];
|
||||
+} __attribute__ (( packed ));
|
||||
+
|
||||
/** Mailbox message */
|
||||
union intelvf_msg {
|
||||
/** Message header */
|
||||
@@ -132,7 +138,7 @@ union intelvf_msg {
|
||||
/** Queue configuration message */
|
||||
struct intelvf_msg_queues queues;
|
||||
/** Raw dwords */
|
||||
- uint32_t dword[0];
|
||||
+ struct intelvf_msg_raw raw;
|
||||
};
|
||||
|
||||
/** Maximum time to wait for mailbox message
|
@ -14,10 +14,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping
|
||||
index f6f3e29248d3e59b76de690aeb0c..d94eb1454c9168545c933ec6e900 100644
|
||||
index 134becd508c2f7f7c01c2f601d36..36cfb950e014914232f254b7edbb 100644
|
||||
--- a/roms/ipxe/src/Makefile.housekeeping
|
||||
+++ b/roms/ipxe/src/Makefile.housekeeping
|
||||
@@ -1172,11 +1172,18 @@ blib : $(BLIB)
|
||||
@@ -1163,11 +1163,18 @@ blib : $(BLIB)
|
||||
# Command to generate build ID. Must be unique for each $(BIN)/%.tmp,
|
||||
# even within the same build run.
|
||||
#
|
||||
@ -38,7 +38,7 @@ index f6f3e29248d3e59b76de690aeb0c..d94eb1454c9168545c933ec6e900 100644
|
||||
|
||||
# Build version
|
||||
#
|
||||
@@ -1196,7 +1203,7 @@ $(BIN)/version.%.o : core/version.c $(MAKEDEPS) $(GIT_INDEX)
|
||||
@@ -1187,7 +1194,7 @@ $(BIN)/version.%.o : core/version.c $(MAKEDEPS) $(GIT_INDEX)
|
||||
$(BIN)/%.tmp : $(BIN)/version.%.o $(BLIB) $(MAKEDEPS) $(LDSCRIPT)
|
||||
$(QM)$(ECHO) " [LD] $@"
|
||||
$(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $< $(BLIB) -o $@ \
|
||||
|
@ -1,275 +0,0 @@
|
||||
From: Marc Hartmayer <mhartmay@linux.ibm.com>
|
||||
Date: Tue, 1 Sep 2020 17:00:19 +0200
|
||||
Subject: libvhost-user: handle endianness as mandated by the spec
|
||||
|
||||
Git-commit: 2ffc54708087c6e524297957be2fc5d543abb767
|
||||
References: jsc#sle-13822
|
||||
|
||||
Since virtio existed even before it got standardized, the virtio
|
||||
standard defines the following types of virtio devices:
|
||||
|
||||
+ legacy device (pre-virtio 1.0)
|
||||
+ non-legacy or VIRTIO 1.0 device
|
||||
+ transitional device (which can act both as legacy and non-legacy)
|
||||
|
||||
Virtio 1.0 defines the fields of the virtqueues as little endian,
|
||||
while legacy uses guest's native endian [1]. Currently libvhost-user
|
||||
does not handle virtio endianness at all, i.e. it works only if the
|
||||
native endianness matches with whatever is actually needed. That means
|
||||
things break spectacularly on big-endian targets. Let us handle virtio
|
||||
endianness for non-legacy as required by the virtio specification [1]
|
||||
and fence legacy virtio, as there is no safe way to figure out the
|
||||
needed endianness conversions for all cases. The fencing of legacy
|
||||
virtio devices is done in `vu_set_features_exec`.
|
||||
|
||||
[1] https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-210003
|
||||
|
||||
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
|
||||
Message-id: 20200901150019.29229-3-mhartmay@linux.ibm.com
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Signed-off-by: Liang Yan <lyan@suse.com>
|
||||
---
|
||||
contrib/libvhost-user/libvhost-user.c | 77 +++++++++++++++------------
|
||||
1 file changed, 43 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/libvhost-user.c
|
||||
index 53f16bdf082c758e795859b71d22..e2238a0400c9630be1cdab30788c 100644
|
||||
--- a/contrib/libvhost-user/libvhost-user.c
|
||||
+++ b/contrib/libvhost-user/libvhost-user.c
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include "qemu/atomic.h"
|
||||
#include "qemu/osdep.h"
|
||||
+#include "qemu/bswap.h"
|
||||
#include "qemu/memfd.h"
|
||||
|
||||
#include "libvhost-user.h"
|
||||
@@ -539,6 +540,14 @@ vu_set_features_exec(VuDev *dev, VhostUserMsg *vmsg)
|
||||
DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64);
|
||||
|
||||
dev->features = vmsg->payload.u64;
|
||||
+ if (!vu_has_feature(dev, VIRTIO_F_VERSION_1)) {
|
||||
+ /*
|
||||
+ * We only support devices conforming to VIRTIO 1.0 or
|
||||
+ * later
|
||||
+ */
|
||||
+ vu_panic(dev, "virtio legacy devices aren't supported by libvhost-user");
|
||||
+ return false;
|
||||
+ }
|
||||
|
||||
if (!(dev->features & VHOST_USER_F_PROTOCOL_FEATURES)) {
|
||||
vu_set_enable_all_rings(dev, true);
|
||||
@@ -1074,7 +1083,7 @@ vu_set_vring_addr_exec(VuDev *dev, VhostUserMsg *vmsg)
|
||||
return false;
|
||||
}
|
||||
|
||||
- vq->used_idx = vq->vring.used->idx;
|
||||
+ vq->used_idx = lduw_le_p(&vq->vring.used->idx);
|
||||
|
||||
if (vq->last_avail_idx != vq->used_idx) {
|
||||
bool resume = dev->iface->queue_is_processed_in_order &&
|
||||
@@ -1191,7 +1200,7 @@ vu_check_queue_inflights(VuDev *dev, VuVirtq *vq)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- vq->used_idx = vq->vring.used->idx;
|
||||
+ vq->used_idx = lduw_le_p(&vq->vring.used->idx);
|
||||
vq->resubmit_num = 0;
|
||||
vq->resubmit_list = NULL;
|
||||
vq->counter = 0;
|
||||
@@ -2021,13 +2030,13 @@ vu_queue_started(const VuDev *dev, const VuVirtq *vq)
|
||||
static inline uint16_t
|
||||
vring_avail_flags(VuVirtq *vq)
|
||||
{
|
||||
- return vq->vring.avail->flags;
|
||||
+ return lduw_le_p(&vq->vring.avail->flags);
|
||||
}
|
||||
|
||||
static inline uint16_t
|
||||
vring_avail_idx(VuVirtq *vq)
|
||||
{
|
||||
- vq->shadow_avail_idx = vq->vring.avail->idx;
|
||||
+ vq->shadow_avail_idx = lduw_le_p(&vq->vring.avail->idx);
|
||||
|
||||
return vq->shadow_avail_idx;
|
||||
}
|
||||
@@ -2035,7 +2044,7 @@ vring_avail_idx(VuVirtq *vq)
|
||||
static inline uint16_t
|
||||
vring_avail_ring(VuVirtq *vq, int i)
|
||||
{
|
||||
- return vq->vring.avail->ring[i];
|
||||
+ return lduw_le_p(&vq->vring.avail->ring[i]);
|
||||
}
|
||||
|
||||
static inline uint16_t
|
||||
@@ -2123,12 +2132,12 @@ virtqueue_read_next_desc(VuDev *dev, struct vring_desc *desc,
|
||||
int i, unsigned int max, unsigned int *next)
|
||||
{
|
||||
/* If this descriptor says it doesn't chain, we're done. */
|
||||
- if (!(desc[i].flags & VRING_DESC_F_NEXT)) {
|
||||
+ if (!(lduw_le_p(&desc[i].flags) & VRING_DESC_F_NEXT)) {
|
||||
return VIRTQUEUE_READ_DESC_DONE;
|
||||
}
|
||||
|
||||
/* Check they're not leading us off end of descriptors. */
|
||||
- *next = desc[i].next;
|
||||
+ *next = lduw_le_p(&desc[i].next);
|
||||
/* Make sure compiler knows to grab that: we don't want it changing! */
|
||||
smp_wmb();
|
||||
|
||||
@@ -2171,8 +2180,8 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, unsigned int *in_bytes,
|
||||
}
|
||||
desc = vq->vring.desc;
|
||||
|
||||
- if (desc[i].flags & VRING_DESC_F_INDIRECT) {
|
||||
- if (desc[i].len % sizeof(struct vring_desc)) {
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) {
|
||||
+ if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) {
|
||||
vu_panic(dev, "Invalid size for indirect buffer table");
|
||||
goto err;
|
||||
}
|
||||
@@ -2185,8 +2194,8 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, unsigned int *in_bytes,
|
||||
|
||||
/* loop over the indirect descriptor table */
|
||||
indirect = 1;
|
||||
- desc_addr = desc[i].addr;
|
||||
- desc_len = desc[i].len;
|
||||
+ desc_addr = ldq_le_p(&desc[i].addr);
|
||||
+ desc_len = ldl_le_p(&desc[i].len);
|
||||
max = desc_len / sizeof(struct vring_desc);
|
||||
read_len = desc_len;
|
||||
desc = vu_gpa_to_va(dev, &read_len, desc_addr);
|
||||
@@ -2213,10 +2222,10 @@ vu_queue_get_avail_bytes(VuDev *dev, VuVirtq *vq, unsigned int *in_bytes,
|
||||
goto err;
|
||||
}
|
||||
|
||||
- if (desc[i].flags & VRING_DESC_F_WRITE) {
|
||||
- in_total += desc[i].len;
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) {
|
||||
+ in_total += ldl_le_p(&desc[i].len);
|
||||
} else {
|
||||
- out_total += desc[i].len;
|
||||
+ out_total += ldl_le_p(&desc[i].len);
|
||||
}
|
||||
if (in_total >= max_in_bytes && out_total >= max_out_bytes) {
|
||||
goto done;
|
||||
@@ -2367,7 +2376,7 @@ vring_used_flags_set_bit(VuVirtq *vq, int mask)
|
||||
|
||||
flags = (uint16_t *)((char*)vq->vring.used +
|
||||
offsetof(struct vring_used, flags));
|
||||
- *flags |= mask;
|
||||
+ stw_le_p(flags, lduw_le_p(flags) | mask);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -2377,7 +2386,7 @@ vring_used_flags_unset_bit(VuVirtq *vq, int mask)
|
||||
|
||||
flags = (uint16_t *)((char*)vq->vring.used +
|
||||
offsetof(struct vring_used, flags));
|
||||
- *flags &= ~mask;
|
||||
+ stw_le_p(flags, lduw_le_p(flags) & ~mask);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -2387,7 +2396,7 @@ vring_set_avail_event(VuVirtq *vq, uint16_t val)
|
||||
return;
|
||||
}
|
||||
|
||||
- *((uint16_t *) &vq->vring.used->ring[vq->vring.num]) = val;
|
||||
+ stw_le_p(&vq->vring.used->ring[vq->vring.num], val);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -2476,14 +2485,14 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned int idx, size_t sz)
|
||||
struct vring_desc desc_buf[VIRTQUEUE_MAX_SIZE];
|
||||
int rc;
|
||||
|
||||
- if (desc[i].flags & VRING_DESC_F_INDIRECT) {
|
||||
- if (desc[i].len % sizeof(struct vring_desc)) {
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) {
|
||||
+ if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) {
|
||||
vu_panic(dev, "Invalid size for indirect buffer table");
|
||||
}
|
||||
|
||||
/* loop over the indirect descriptor table */
|
||||
- desc_addr = desc[i].addr;
|
||||
- desc_len = desc[i].len;
|
||||
+ desc_addr = ldq_le_p(&desc[i].addr);
|
||||
+ desc_len = ldl_le_p(&desc[i].len);
|
||||
max = desc_len / sizeof(struct vring_desc);
|
||||
read_len = desc_len;
|
||||
desc = vu_gpa_to_va(dev, &read_len, desc_addr);
|
||||
@@ -2505,10 +2514,10 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned int idx, size_t sz)
|
||||
|
||||
/* Collect all the descriptors */
|
||||
do {
|
||||
- if (desc[i].flags & VRING_DESC_F_WRITE) {
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) {
|
||||
virtqueue_map_desc(dev, &in_num, iov + out_num,
|
||||
VIRTQUEUE_MAX_SIZE - out_num, true,
|
||||
- desc[i].addr, desc[i].len);
|
||||
+ ldq_le_p(&desc[i].addr), ldl_le_p(&desc[i].len));
|
||||
} else {
|
||||
if (in_num) {
|
||||
vu_panic(dev, "Incorrect order for descriptors");
|
||||
@@ -2516,7 +2525,7 @@ vu_queue_map_desc(VuDev *dev, VuVirtq *vq, unsigned int idx, size_t sz)
|
||||
}
|
||||
virtqueue_map_desc(dev, &out_num, iov,
|
||||
VIRTQUEUE_MAX_SIZE, false,
|
||||
- desc[i].addr, desc[i].len);
|
||||
+ ldq_le_p(&desc[i].addr), ldl_le_p(&desc[i].len));
|
||||
}
|
||||
|
||||
/* If we've got too many, that implies a descriptor loop. */
|
||||
@@ -2712,14 +2721,14 @@ vu_log_queue_fill(VuDev *dev, VuVirtq *vq,
|
||||
max = vq->vring.num;
|
||||
i = elem->index;
|
||||
|
||||
- if (desc[i].flags & VRING_DESC_F_INDIRECT) {
|
||||
- if (desc[i].len % sizeof(struct vring_desc)) {
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_INDIRECT) {
|
||||
+ if (ldl_le_p(&desc[i].len) % sizeof(struct vring_desc)) {
|
||||
vu_panic(dev, "Invalid size for indirect buffer table");
|
||||
}
|
||||
|
||||
/* loop over the indirect descriptor table */
|
||||
- desc_addr = desc[i].addr;
|
||||
- desc_len = desc[i].len;
|
||||
+ desc_addr = ldq_le_p(&desc[i].addr);
|
||||
+ desc_len = ldl_le_p(&desc[i].len);
|
||||
max = desc_len / sizeof(struct vring_desc);
|
||||
read_len = desc_len;
|
||||
desc = vu_gpa_to_va(dev, &read_len, desc_addr);
|
||||
@@ -2745,9 +2754,9 @@ vu_log_queue_fill(VuDev *dev, VuVirtq *vq,
|
||||
return;
|
||||
}
|
||||
|
||||
- if (desc[i].flags & VRING_DESC_F_WRITE) {
|
||||
- min = MIN(desc[i].len, len);
|
||||
- vu_log_write(dev, desc[i].addr, min);
|
||||
+ if (lduw_le_p(&desc[i].flags) & VRING_DESC_F_WRITE) {
|
||||
+ min = MIN(ldl_le_p(&desc[i].len), len);
|
||||
+ vu_log_write(dev, ldq_le_p(&desc[i].addr), min);
|
||||
len -= min;
|
||||
}
|
||||
|
||||
@@ -2772,15 +2781,15 @@ vu_queue_fill(VuDev *dev, VuVirtq *vq,
|
||||
|
||||
idx = (idx + vq->used_idx) % vq->vring.num;
|
||||
|
||||
- uelem.id = elem->index;
|
||||
- uelem.len = len;
|
||||
+ stl_le_p(&uelem.id, elem->index);
|
||||
+ stl_le_p(&uelem.len, len);
|
||||
vring_used_write(dev, vq, &uelem, idx);
|
||||
}
|
||||
|
||||
static inline
|
||||
void vring_used_idx_set(VuDev *dev, VuVirtq *vq, uint16_t val)
|
||||
{
|
||||
- vq->vring.used->idx = val;
|
||||
+ stw_le_p(&vq->vring.used->idx, val);
|
||||
vu_log_write(dev,
|
||||
vq->vring.log_guest_addr + offsetof(struct vring_used, idx),
|
||||
sizeof(vq->vring.used->idx));
|
@ -21,10 +21,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 1a835798d19cc77da8d7ec6bdc7b..5cd29859d6ac5349f04c03996b12 100644
|
||||
index 2839a2c5e906dde840f040c5f235..e1341c9d391bde792d37443c4b9f 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -7473,6 +7473,27 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
@@ -7887,6 +7887,27 @@ static int open_self_stat(void *cpu_env, int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ index 1a835798d19cc77da8d7ec6bdc7b..5cd29859d6ac5349f04c03996b12 100644
|
||||
static int open_self_auxv(void *cpu_env, int fd)
|
||||
{
|
||||
CPUState *cpu = env_cpu((CPUArchState *)cpu_env);
|
||||
@@ -7627,6 +7648,9 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
|
||||
@@ -8041,6 +8062,9 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
|
||||
#if defined(TARGET_SPARC) || defined(TARGET_HPPA)
|
||||
{ "/proc/cpuinfo", open_cpuinfo, is_proc },
|
||||
#endif
|
||||
|
@ -29,66 +29,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
[AF: Rebased onto script rewrite for v2.7.0-rc2 - to be fixed]
|
||||
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
---
|
||||
Makefile.target | 13 +++++++++++++
|
||||
linux-user/Makefile.objs | 1 +
|
||||
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 56 insertions(+)
|
||||
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
meson.build | 5 +++++
|
||||
2 files changed, 47 insertions(+)
|
||||
|
||||
diff --git a/Makefile.target b/Makefile.target
|
||||
index ffa2657269ac5e4ed4eab213e1bd..b6621549b8909d76e64cc0c5c2f3 100644
|
||||
--- a/Makefile.target
|
||||
+++ b/Makefile.target
|
||||
@@ -39,6 +39,10 @@ endif
|
||||
PROGS=$(QEMU_PROG) $(QEMU_PROGW)
|
||||
STPFILES=
|
||||
|
||||
+ifdef CONFIG_LINUX_USER
|
||||
+PROGS+=$(QEMU_PROG)-binfmt
|
||||
+endif
|
||||
+
|
||||
config-target.h: config-target.h-timestamp
|
||||
config-target.h-timestamp: config-target.mak
|
||||
|
||||
@@ -134,6 +138,8 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
|
||||
obj-y += linux-user/
|
||||
obj-y += gdbstub.o thunk.o
|
||||
|
||||
+obj-binfmt-y += linux-user/
|
||||
+
|
||||
endif #CONFIG_LINUX_USER
|
||||
|
||||
#########################################################
|
||||
@@ -173,7 +179,11 @@ generated-files-y += config-devices.h
|
||||
|
||||
endif # CONFIG_SOFTMMU
|
||||
|
||||
+ifdef CONFIG_LINUX_USER
|
||||
+dummy := $(call unnest-vars,,obj-y obj-binfmt-y)
|
||||
+else
|
||||
dummy := $(call unnest-vars,,obj-y)
|
||||
+endif
|
||||
all-obj-y := $(obj-y)
|
||||
|
||||
#
|
||||
@@ -222,6 +232,9 @@ ifdef CONFIG_DARWIN
|
||||
$(call quiet-command,SetFile -a C $@,"SETFILE","$(TARGET_DIR)$@")
|
||||
endif
|
||||
|
||||
+$(QEMU_PROG)-binfmt: $(obj-binfmt-y)
|
||||
+ $(call LINK,$^)
|
||||
+
|
||||
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
|
||||
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES),"GEN","$(TARGET_DIR)$@")
|
||||
|
||||
diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
|
||||
index 1940910a7321c5a44d29c2602f9e..84c770a6cb58193d73afdffa2b01 100644
|
||||
--- a/linux-user/Makefile.objs
|
||||
+++ b/linux-user/Makefile.objs
|
||||
@@ -23,3 +23,4 @@ obj-$(TARGET_SPARC) += sparc/
|
||||
obj-$(TARGET_SPARC64) += $(TARGET_ABI_DIR)/
|
||||
obj-$(TARGET_X86_64) += x86_64/
|
||||
obj-$(TARGET_XTENSA) += xtensa/
|
||||
+obj-binfmt-y = binfmt.o
|
||||
diff --git a/linux-user/binfmt.c b/linux-user/binfmt.c
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..cd1f513b334f3b263d9e4b5adb1981e376429fa6
|
||||
@ -137,3 +81,19 @@ index 0000000000000000000000000000000000000000..cd1f513b334f3b263d9e4b5adb1981e3
|
||||
+
|
||||
+ return execve(new_argv[0], new_argv, envp);
|
||||
+}
|
||||
diff --git a/meson.build b/meson.build
|
||||
index e3386196ba4106a973edb7f9d07c..a4743a83ae82bbe57e8dfeec3da4 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1883,6 +1883,11 @@ endforeach
|
||||
|
||||
# Other build targets
|
||||
|
||||
+if 'CONFIG_LINUX_USER' in config_target
|
||||
+ executable('qemu-binfmt', files('linux-user/binfmt.c'),
|
||||
+ install: true)
|
||||
+endif
|
||||
+
|
||||
if 'CONFIG_PLUGIN' in config_host
|
||||
install_headers('include/qemu/qemu-plugin.h')
|
||||
endif
|
||||
|
@ -15,10 +15,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 9ec933bdc0078f3fc62bfd499957..78a1f6c347511b85634da898f831 100644
|
||||
index 4c178ceab8ac708e4ee4587f6589..72c10911d6773e1e53fa36a3e741 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -8149,8 +8149,13 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
|
||||
@@ -8563,8 +8563,13 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
|
||||
return ret;
|
||||
#endif
|
||||
#ifdef TARGET_NR_lseek
|
||||
|
@ -1,29 +0,0 @@
|
||||
From: Andreas Schwab <schwab@linux-m68k.org>
|
||||
Date: Thu, 8 Sep 2016 11:21:05 +0200
|
||||
Subject: linux-user: properly test for infinite timeout in poll (#8)
|
||||
|
||||
After "linux-user: use target_ulong" the poll syscall was no longer
|
||||
handling infinite timeout.
|
||||
|
||||
/home/abuild/rpmbuild/BUILD/qemu-2.7.0-rc5/linux-user/syscall.c:9773:26: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
|
||||
if (arg3 >= 0) {
|
||||
^~
|
||||
|
||||
Signed-off-by: Andreas Schwab <schwab@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 78a1f6c347511b85634da898f831..d70d8a59f44feaf126d8b6187f17 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -10207,7 +10207,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_ulong arg1,
|
||||
{
|
||||
struct timespec ts, *pts;
|
||||
|
||||
- if (arg3 >= 0) {
|
||||
+ if ((abi_long)arg3 >= 0) {
|
||||
/* Convert ms to secs, ns */
|
||||
ts.tv_sec = arg3 / 1000;
|
||||
ts.tv_nsec = (arg3 % 1000) * 1000000LL;
|
@ -16,10 +16,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
2 files changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
|
||||
index 5c964389c101ce00fcffe206bc69..76d0399e82d5c2b599b9472e0743 100644
|
||||
index 534753ca12542383002cbf5544ac..c1c7448ef304cf8a56ac60ec8639 100644
|
||||
--- a/linux-user/qemu.h
|
||||
+++ b/linux-user/qemu.h
|
||||
@@ -227,10 +227,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
|
||||
@@ -231,10 +231,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
|
||||
void target_set_brk(abi_ulong new_brk);
|
||||
abi_long do_brk(abi_ulong new_brk);
|
||||
void syscall_init(void);
|
||||
@ -35,10 +35,10 @@ index 5c964389c101ce00fcffe206bc69..76d0399e82d5c2b599b9472e0743 100644
|
||||
void cpu_loop(CPUArchState *env);
|
||||
const char *target_strerror(int err);
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 5cd29859d6ac5349f04c03996b12..9ec933bdc0078f3fc62bfd499957 100644
|
||||
index e1341c9d391bde792d37443c4b9f..4c178ceab8ac708e4ee4587f6589 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -7791,10 +7791,10 @@ static int host_to_target_cpu_mask(const unsigned long *host_mask,
|
||||
@@ -8205,10 +8205,10 @@ static int host_to_target_cpu_mask(const unsigned long *host_mask,
|
||||
* of syscall results, can be performed.
|
||||
* All errnos that do_syscall() returns must be -TARGET_<errcode>.
|
||||
*/
|
||||
@ -53,7 +53,7 @@ index 5cd29859d6ac5349f04c03996b12..9ec933bdc0078f3fc62bfd499957 100644
|
||||
{
|
||||
CPUState *cpu = env_cpu(cpu_env);
|
||||
abi_long ret;
|
||||
@@ -10578,7 +10578,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -10871,7 +10871,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
*/
|
||||
ret = -TARGET_EINVAL;
|
||||
if (cpu_isar_feature(aa64_sve, env_archcpu(cpu_env))
|
||||
@ -62,7 +62,7 @@ index 5cd29859d6ac5349f04c03996b12..9ec933bdc0078f3fc62bfd499957 100644
|
||||
CPUARMState *env = cpu_env;
|
||||
ARMCPU *cpu = env_archcpu(env);
|
||||
uint32_t vq, old_vq;
|
||||
@@ -12610,10 +12610,10 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -13120,10 +13120,10 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
32
meson-install-ivshmem-client-and-ivshmem.patch
Normal file
32
meson-install-ivshmem-client-and-ivshmem.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Fri, 28 Aug 2020 13:50:40 -0600
|
||||
Subject: meson: install ivshmem-client and ivshmem-server
|
||||
|
||||
Turn on the meson install flag for these executables
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
contrib/ivshmem-client/meson.build | 2 +-
|
||||
contrib/ivshmem-server/meson.build | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/contrib/ivshmem-client/meson.build b/contrib/ivshmem-client/meson.build
|
||||
index 1b171efb4f536f608191cd4cba1b..83a559117fd1a2c99f34a43fa38d 100644
|
||||
--- a/contrib/ivshmem-client/meson.build
|
||||
+++ b/contrib/ivshmem-client/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('ivshmem-client', files('ivshmem-client.c', 'main.c'),
|
||||
dependencies: glib,
|
||||
build_by_default: targetos == 'linux',
|
||||
- install: false)
|
||||
+ install: true)
|
||||
diff --git a/contrib/ivshmem-server/meson.build b/contrib/ivshmem-server/meson.build
|
||||
index 3a539422017e6dc342e098c3e9c8..a1c39aa3b30e9c56941cbc394f86 100644
|
||||
--- a/contrib/ivshmem-server/meson.build
|
||||
+++ b/contrib/ivshmem-server/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('ivshmem-server', files('ivshmem-server.c', 'main.c'),
|
||||
dependencies: [qemuutil, rt],
|
||||
build_by_default: targetos == 'linux',
|
||||
- install: false)
|
||||
+ install: true)
|
23
qboot-add-cross.ini-file-to-handle-aarch.patch
Normal file
23
qboot-add-cross.ini-file-to-handle-aarch.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Mon, 23 Nov 2020 07:06:37 -0700
|
||||
Subject: qboot: add cross.ini file to handle aarch64 based build
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
cross.ini | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/roms/qboot/cross.ini b/roms/qboot/cross.ini
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4b3584da7e189efad7865450bf5310685c2e0f31
|
||||
--- /dev/null
|
||||
+++ b/roms/qboot/cross.ini
|
||||
@@ -0,0 +1,8 @@
|
||||
+[host_machine]
|
||||
+system = 'linux'
|
||||
+cpu_family = 'x86'
|
||||
+cpu = 'x86_64'
|
||||
+endian = 'little'
|
||||
+
|
||||
+[binaries]
|
||||
+c = 'x86_64-suse-linux-gcc'
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5
|
||||
size 62911540
|
Binary file not shown.
3
qemu-5.2.0.tar.xz
Normal file
3
qemu-5.2.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb18d889b628fbe637672b0326789d9b0e3b8027e0445b936537c78549df17bc
|
||||
size 106902800
|
BIN
qemu-5.2.0.tar.xz.sig
Normal file
BIN
qemu-5.2.0.tar.xz.sig
Normal file
Binary file not shown.
@ -19,10 +19,10 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||||
1 file changed, 25 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c
|
||||
index 88b26747fc866116637716264dea..9ed35df944fa6968045e675e023a 100644
|
||||
index a26e1663f02de3c99198df6e2080..f3483b0a344da4f82b6710551390 100644
|
||||
--- a/qemu-bridge-helper.c
|
||||
+++ b/qemu-bridge-helper.c
|
||||
@@ -123,7 +123,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
||||
@@ -124,7 +124,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
||||
}
|
||||
|
||||
if (strcmp(cmd, "deny") == 0) {
|
||||
@ -36,7 +36,7 @@ index 88b26747fc866116637716264dea..9ed35df944fa6968045e675e023a 100644
|
||||
if (strcmp(arg, "all") == 0) {
|
||||
acl_rule->type = ACL_DENY_ALL;
|
||||
} else {
|
||||
@@ -132,7 +137,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
||||
@@ -133,7 +138,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
||||
}
|
||||
QSIMPLEQ_INSERT_TAIL(acl_list, acl_rule, entry);
|
||||
} else if (strcmp(cmd, "allow") == 0) {
|
||||
@ -50,7 +50,7 @@ index 88b26747fc866116637716264dea..9ed35df944fa6968045e675e023a 100644
|
||||
if (strcmp(arg, "all") == 0) {
|
||||
acl_rule->type = ACL_ALLOW_ALL;
|
||||
} else {
|
||||
@@ -433,6 +443,18 @@ int main(int argc, char **argv)
|
||||
@@ -438,6 +448,18 @@ int main(int argc, char **argv)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ index 88b26747fc866116637716264dea..9ed35df944fa6968045e675e023a 100644
|
||||
/* write fd to the domain socket */
|
||||
if (send_fd(unixfd, fd) == -1) {
|
||||
fprintf(stderr, "failed to write fd to unix socket: %s\n",
|
||||
@@ -454,7 +476,7 @@ cleanup:
|
||||
@@ -459,7 +481,7 @@ cleanup:
|
||||
}
|
||||
while ((acl_rule = QSIMPLEQ_FIRST(&acl_list)) != NULL) {
|
||||
QSIMPLEQ_REMOVE_HEAD(&acl_list, entry);
|
||||
|
@ -11,10 +11,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 945fc252791ce79d968dba5f9545..b1e68b7b1b3d689af62cd271cf31 100644
|
||||
index 27adee908ebcf5151a2e0c9875bc..e0cfb6227803c30755841477b593 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -8988,6 +8988,9 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
@@ -9444,6 +9444,9 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
{
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
|
@ -13,10 +13,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index b1e68b7b1b3d689af62cd271cf31..8a80cf418ab4299548a85b90e427 100644
|
||||
index e0cfb6227803c30755841477b593..1526c70a6ef9899fa160bae96efc 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5440,8 +5440,21 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
@@ -5728,8 +5728,21 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
ie = ioctl_entries;
|
||||
for(;;) {
|
||||
if (ie->target_cmd == 0) {
|
||||
|
@ -16,10 +16,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 8a80cf418ab4299548a85b90e427..1a835798d19cc77da8d7ec6bdc7b 100644
|
||||
index 1526c70a6ef9899fa160bae96efc..2839a2c5e906dde840f040c5f235 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5485,6 +5485,13 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
@@ -5773,6 +5773,13 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
arg_type++;
|
||||
target_size = thunk_type_size(arg_type, 0);
|
||||
switch(ie->access) {
|
||||
@ -33,7 +33,7 @@ index 8a80cf418ab4299548a85b90e427..1a835798d19cc77da8d7ec6bdc7b 100644
|
||||
case IOC_R:
|
||||
ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp));
|
||||
if (!is_error(ret)) {
|
||||
@@ -5503,6 +5510,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
@@ -5791,6 +5798,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
||||
unlock_user(argptr, arg, 0);
|
||||
ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp));
|
||||
break;
|
||||
|
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<meta name="generator" content="LibreOffice 7.0.0.3 (Linux)"/>
|
||||
<meta name="created" content="2020-08-19T17:43:30.234250115"/>
|
||||
<meta name="changed" content="2020-08-19T17:47:24.726661339"/>
|
||||
<style type="text/css">
|
||||
@page { size: 8.5in 11in; margin: 0.79in }
|
||||
p { margin-bottom: 0.1in; line-height: 115%; background: transparent }
|
||||
</style>
|
||||
</head>
|
||||
<body lang="en-US" link="#000080" vlink="#800000" dir="ltr"><p style="margin-bottom: 0in; line-height: 100%">
|
||||
If you are looking for the QEMU Guest Agent protocol reference, see:</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">/usr/share/doc/packages/qemu/interop/qemu-ga-ref.html</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%"><br/>
|
||||
|
||||
</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">The file you are
|
||||
reading is now provided simply to support a packaging</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">"Split-Provides",
|
||||
in order to maintain prior-release functionality. The</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">new package has
|
||||
split that functionality into another package which may</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">be optional going
|
||||
forward. If you find the package providing this file</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">is not needed, you
|
||||
may uninstall it.</p>
|
||||
</body>
|
||||
</html>
|
@ -1,8 +0,0 @@
|
||||
If you are looking for the QEMU Guest Agent protocol reference, see:
|
||||
/usr/share/doc/packages/qemu/interop/qemu-ga-ref.txt
|
||||
|
||||
The file you are reading is now provided simply to support a packaging
|
||||
"Split-Provides", in order to maintain prior-release functionality. The
|
||||
new package has split that functionality into another package which may
|
||||
be optional going forward. If you find the package providing this file
|
||||
is not needed, you may uninstall it.
|
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<meta name="generator" content="LibreOffice 7.0.0.3 (Linux)"/>
|
||||
<meta name="created" content="2020-08-19T17:49:34.681944218"/>
|
||||
<meta name="changed" content="2020-08-19T17:50:19.834682696"/>
|
||||
<style type="text/css">
|
||||
@page { size: 8.5in 11in; margin: 0.79in }
|
||||
p { margin-bottom: 0.1in; line-height: 115%; background: transparent }
|
||||
</style>
|
||||
</head>
|
||||
<body lang="en-US" link="#000080" vlink="#800000" dir="ltr"><p style="margin-bottom: 0in; line-height: 100%">
|
||||
If you are looking for the QEMU QMP reference, see:</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">/usr/share/doc/packages/qemu/interop/qemu-qmp-ref.html</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%"><br/>
|
||||
|
||||
</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">The file you are
|
||||
reading is now provided simply to support a packaging</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">"Split-Provides",
|
||||
in order to maintain prior-release functionality. The</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">new package has
|
||||
split that functionality into another package which may</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">be optional going
|
||||
forward. If you find the package providing this file</p>
|
||||
<p style="margin-bottom: 0in; line-height: 100%">is not needed, you
|
||||
may uninstall it.</p>
|
||||
</body>
|
||||
</html>
|
@ -1,8 +0,0 @@
|
||||
If you are looking for the QEMU QMP reference, see:
|
||||
/usr/share/doc/packages/qemu/interop/qemu-qmp-ref.txt
|
||||
|
||||
The file you are reading is now provided simply to support a packaging
|
||||
"Split-Provides", in order to maintain prior-release functionality. The
|
||||
new package has split that functionality into another package which may
|
||||
be optional going forward. If you find the package providing this file
|
||||
is not needed, you may uninstall it.
|
107
qemu.changes
107
qemu.changes
@ -1,3 +1,110 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 8 18:10:54 UTC 2020 - Bruce Rogers <brogers@suse.com>
|
||||
|
||||
- Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2
|
||||
Take note that ongoing feature deprecation is tracked at both
|
||||
http://wiki.qemu-project.org/Features/LegacyRemoval and in
|
||||
the deprecated.html file installed with the qemu package
|
||||
Some noteworthy changes:
|
||||
* Dropped system emulators: qemu-system-lm32, qemu-system-unicore32
|
||||
* Dropped linux user emulator: qemu-ppc64abi32
|
||||
* Added linux user emulator: qemu-extensaeb
|
||||
* Unicore32 and lm32 guest support dropped
|
||||
* New sub-packages (most due to ongoing modularization of QEMU):
|
||||
qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga,
|
||||
qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci,
|
||||
qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools
|
||||
* x86: A new KVM feature which improves the handling of asynchronous page
|
||||
faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8)
|
||||
* s390: More instructions emulated under TCG
|
||||
* PowerPC: nvdimm= machine option now functions correctly; misc improvements
|
||||
* ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500
|
||||
(Cortex-M7 based), raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero)
|
||||
and raspi1ap (the Pi A+)
|
||||
* RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used
|
||||
when no -bios argument is supplied; Support for NUMA sockets on Virt
|
||||
and Spike Machines; Support for migrating machines; misc improvements
|
||||
* Misc NVMe improvements
|
||||
* The 'vhost-user-blk' export type has been added, allowing
|
||||
qemu-storage-daemon to act as a vhost-user-blk device backend
|
||||
* The SMBIOS OEM strings can now come from a file
|
||||
* 9pfs - misc performance related improvements
|
||||
* virtiofs - misc improvements
|
||||
* migration: The default migration bandwidth has been increased to 1Gbps
|
||||
(users are still encouraged to tune it to their own hardware); The new
|
||||
'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine
|
||||
the likelihood of precopy migration success; TLS+multifd now supported
|
||||
for higher bandwidth encrypted migration; misc minor features added
|
||||
* Misc minor block features added
|
||||
* Misc doc improvements
|
||||
* qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based,
|
||||
and the qboot based on is now qboot.rom
|
||||
* elf2dmp is no longer part of qemu-tools (it was never intended to be
|
||||
a packaged binary)
|
||||
* Some subpackages which were 'Requires' are now 'Recommends', allowing for
|
||||
a smaller qemu packaging footprint if needed
|
||||
* Patches dropped (included in release tarball, unless otherwise noted):
|
||||
docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently)
|
||||
hw-hyperv-vmbus-Fix-32bit-compilation.patch
|
||||
linux-user-properly-test-for-infinite-ti.patch
|
||||
Switch-order-of-libraries-for-mpath-supp.patch (fixed differently)
|
||||
Conditionalize-ui-bitmap-installation-be.patch (fixed differently)
|
||||
hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9)
|
||||
hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9)
|
||||
roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch)
|
||||
libvhost-user-handle-endianness-as-manda.patch
|
||||
virtio-add-vhost-user-fs-ccw-device.patch
|
||||
Fix-s-directive-argument-is-null-error.patch
|
||||
build-Workaround-compilation-error-with-.patch
|
||||
build-Be-explicit-about-fcommon-compiler.patch
|
||||
intel-Avoid-spurious-compiler-warning-on.patch
|
||||
golan-Add-explicit-type-casts-for-nodnic.patch
|
||||
Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch
|
||||
ensure-headers-included-are-compatible-w.patch
|
||||
Enable-cross-compile-prefix-for-C-compil.patch (fixed differently)
|
||||
hw-net-net_tx_pkt-fix-assertion-failure-.patch
|
||||
hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch
|
||||
s390x-protvirt-allow-to-IPL-secure-guest.patch
|
||||
usb-fix-setup_len-init-CVE-2020-14364.patch
|
||||
* Patches added:
|
||||
meson-install-ivshmem-client-and-ivshmem.patch
|
||||
Revert-roms-efirom-tests-uefi-test-tools.patch
|
||||
Makefile-Don-t-check-pc-bios-as-pre-requ.patch
|
||||
roms-Makefile-add-cross-file-to-qboot-me.patch
|
||||
qboot-add-cross.ini-file-to-handle-aarch.patch
|
||||
usb-Help-compiler-out-to-avoid-a-warning.patch
|
||||
- In spec file, where reasonable, switch BuildRequires: XXX-devel
|
||||
to be pkgconfig(XXX') instead
|
||||
- No longer disable link time optimization for qemu for x86. It looks like
|
||||
either the build service, qemu code changes and/or the switch to meson
|
||||
have resolved issues previously seen there. We still see problems for
|
||||
other architectures however.
|
||||
- For the record, the following issues reported for SUSE SLE15-SP2
|
||||
are either fixed in this current package, or are otherwise no longer
|
||||
an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370
|
||||
bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863
|
||||
CVE-2020-16092 CVE-2020-24352
|
||||
and the following feature requests are satisfied by this package:
|
||||
jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840
|
||||
- To be more accurate, and to align with other qemu packaging
|
||||
practices, rename the qemu-s390 package to qemu-s390x. The old
|
||||
name (in the rpm namespace) is provided with a "Provides"
|
||||
directive, and an "Obsoletes" done against that name for prior
|
||||
qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060)
|
||||
- Take this opportunity to remove some ancient Split-Provides
|
||||
mechanisms which can't conceivably be needed any more:
|
||||
qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so
|
||||
qemu-guest-agent provided: qemu:%_bindir/qemu-ga
|
||||
qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 30 19:23:18 UTC 2020 - Bruce Rogers <brogers@suse.com>
|
||||
|
||||
- Disable linux-user 'ls' test on 32 bit arm. It's failing with
|
||||
"Allocating guest commpage: Cannot allocate memory" error, which
|
||||
we should hunt down, but for now we don't want it to prevent the
|
||||
package from being built
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 24 21:24:59 UTC 2020 - Bruce Rogers <brogers@suse.com>
|
||||
|
||||
|
640
qemu.spec.in
640
qemu.spec.in
File diff suppressed because it is too large
Load Diff
@ -34,10 +34,10 @@ index 2e2d6bca932c83bea993850b60f8..6484837487b012cbfc63b6c6e39e 100644
|
||||
/**
|
||||
* qht_remove - remove a pointer from the hash table
|
||||
diff --git a/util/qht.c b/util/qht.c
|
||||
index a5a332d98998209875a47ebfdeee..9515bf7506d351230739e1bdb588 100644
|
||||
index cfc2c60639af8f7905aae51c53bb..152b8d74f0b12cf4ed75e543575f 100644
|
||||
--- a/util/qht.c
|
||||
+++ b/util/qht.c
|
||||
@@ -484,10 +484,10 @@ bool qht_reset_size(struct qht *ht, size_t n_elems)
|
||||
@@ -485,10 +485,10 @@ bool qht_reset_size(struct qht *ht, size_t n_elems)
|
||||
}
|
||||
|
||||
static inline
|
||||
@ -50,7 +50,7 @@ index a5a332d98998209875a47ebfdeee..9515bf7506d351230739e1bdb588 100644
|
||||
int i;
|
||||
|
||||
do {
|
||||
@@ -511,7 +511,7 @@ void *qht_do_lookup(const struct qht_bucket *head, qht_lookup_func_t func,
|
||||
@@ -512,7 +512,7 @@ void *qht_do_lookup(const struct qht_bucket *head, qht_lookup_func_t func,
|
||||
}
|
||||
|
||||
static __attribute__((noinline))
|
||||
@ -59,7 +59,7 @@ index a5a332d98998209875a47ebfdeee..9515bf7506d351230739e1bdb588 100644
|
||||
const void *userp, uint32_t hash)
|
||||
{
|
||||
unsigned int version;
|
||||
@@ -524,10 +524,10 @@ void *qht_lookup__slowpath(const struct qht_bucket *b, qht_lookup_func_t func,
|
||||
@@ -525,10 +525,10 @@ void *qht_lookup__slowpath(const struct qht_bucket *b, qht_lookup_func_t func,
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ index a5a332d98998209875a47ebfdeee..9515bf7506d351230739e1bdb588 100644
|
||||
const struct qht_map *map;
|
||||
unsigned int version;
|
||||
void *ret;
|
||||
@@ -547,7 +547,7 @@ void *qht_lookup_custom(const struct qht *ht, const void *userp, uint32_t hash,
|
||||
@@ -548,7 +548,7 @@ void *qht_lookup_custom(const struct qht *ht, const void *userp, uint32_t hash,
|
||||
return qht_lookup__slowpath(b, func, userp, hash);
|
||||
}
|
||||
|
||||
|
27
roms-Makefile-add-cross-file-to-qboot-me.patch
Normal file
27
roms-Makefile-add-cross-file-to-qboot-me.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Mon, 23 Nov 2020 07:13:23 -0700
|
||||
Subject: roms/Makefile: add --cross-file to qboot meson setup for aarch64
|
||||
|
||||
Include-If: %ifarch aarch64
|
||||
|
||||
We conditionally add a --cross-file reference so that we can do
|
||||
cross compilation of qboot from an aarch64 build.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
roms/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/roms/Makefile b/roms/Makefile
|
||||
index a91ffad548af3e95410ce6712fb3..2db995dab25f6d842def858ebbcc 100644
|
||||
--- a/roms/Makefile
|
||||
+++ b/roms/Makefile
|
||||
@@ -199,7 +199,7 @@ MESON = meson
|
||||
NINJA = ninja
|
||||
qboot:
|
||||
mkdir -p qboot/build
|
||||
- $(MESON) setup $(if $(wildcard qboot/build/meson-private),--wipe,) qboot qboot/build
|
||||
+ $(MESON) setup --cross-file qboot/cross.ini $(if $(wildcard qboot/build/meson-private),--wipe,) qboot qboot/build
|
||||
$(NINJA) -C qboot/build
|
||||
cp qboot/build/bios.bin ../pc-bios/qboot.rom
|
||||
|
@ -1,22 +0,0 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Sun, 3 Nov 2019 07:21:40 -0700
|
||||
Subject: roms/Makefile: enable cross compile for building microvm bios
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
roms/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/roms/Makefile b/roms/Makefile
|
||||
index 3aaf3835730023e9a941fc9cd2c2..1bfe34b404d2822bda71edf25ae4 100644
|
||||
--- a/roms/Makefile
|
||||
+++ b/roms/Makefile
|
||||
@@ -205,7 +205,7 @@ opensbi64-sifive_u:
|
||||
cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
|
||||
|
||||
bios-microvm:
|
||||
- $(MAKE) -C qboot
|
||||
+ $(MAKE) -C qboot CROSS_COMPILE=$(x86_64_cross_prefix) CC=gcc
|
||||
cp qboot/bios.bin ../pc-bios/bios-microvm.bin
|
||||
|
||||
clean:
|
@ -20,10 +20,10 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/roms/Makefile b/roms/Makefile
|
||||
index f9acf39954dcf96618fab21cafe7..3aaf3835730023e9a941fc9cd2c2 100644
|
||||
index 5ffe3317acd233586e1a2f87bddd..bbbe2eff895868b8a5781f6ca397 100644
|
||||
--- a/roms/Makefile
|
||||
+++ b/roms/Makefile
|
||||
@@ -51,6 +51,12 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
|
||||
@@ -52,6 +52,12 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
|
||||
#
|
||||
EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom
|
||||
|
||||
@ -36,16 +36,16 @@ index f9acf39954dcf96618fab21cafe7..3aaf3835730023e9a941fc9cd2c2 100644
|
||||
default help:
|
||||
@echo "nothing is build by default"
|
||||
@echo "available build targets:"
|
||||
@@ -101,7 +107,7 @@ build-seabios-config-%: config.%
|
||||
@@ -104,7 +110,7 @@ build-seabios-config-%: config.%
|
||||
|
||||
.PHONY: sgabios skiboot
|
||||
.PHONY: sgabios skiboot qboot
|
||||
sgabios:
|
||||
- $(MAKE) -C sgabios
|
||||
+ $(MAKE) -C sgabios PACKAGING_TIMESTAMP=$(PACKAGING_TIMESTAMP)
|
||||
cp sgabios/sgabios.bin ../pc-bios
|
||||
|
||||
|
||||
@@ -121,11 +127,13 @@ efi-rom-%: build-pxe-roms build-efi-roms edk2-basetools
|
||||
@@ -123,11 +129,13 @@ efi-rom-%: build-pxe-roms build-efi-roms edk2-basetools
|
||||
|
||||
build-pxe-roms:
|
||||
$(MAKE) -C ipxe/src CONFIG=qemu \
|
||||
@ -57,9 +57,9 @@ index f9acf39954dcf96618fab21cafe7..3aaf3835730023e9a941fc9cd2c2 100644
|
||||
$(MAKE) -C ipxe/src CONFIG=qemu \
|
||||
+ PACKAGING_TIMESTAMP=$(PACKAGING_TIMESTAMP) \
|
||||
CROSS_COMPILE=$(x86_64_cross_prefix) \
|
||||
$(patsubst %,bin-i386-efi/%.efidrv,$(pxerom_targets)) \
|
||||
$(patsubst %,bin-x86_64-efi/%.efidrv,$(pxerom_targets))
|
||||
@@ -148,7 +156,9 @@ edk2-basetools:
|
||||
|
||||
@@ -150,7 +158,9 @@ edk2-basetools:
|
||||
EXTRA_LDFLAGS='$(EDK2_BASETOOLS_LDFLAGS)'
|
||||
|
||||
slof:
|
||||
|
@ -1,11 +1,11 @@
|
||||
[qemu-arm package document]
|
||||
|
||||
POST SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
SLES 15 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The QEMU based packages included with SLES 15 SP2 provide a large variety of
|
||||
The QEMU based packages included with SLES 15 SP3 provide a large variety of
|
||||
features, from the very latest customer requests to features of questionable
|
||||
quality or value. The linux kernel includes components which contribute KVM
|
||||
virtualization features as well. This document was created to assist the user
|
||||
@ -57,7 +57,7 @@ Major QEMU/KVM Supported Features
|
||||
Since a KVM guest runs in the context of a normal linux process, some types
|
||||
of execution controls are managed with linux tools.
|
||||
|
||||
- QEMU is compatible with EDK II based UEFI firmware available with SLES 15 SP2,
|
||||
- QEMU is compatible with EDK II based UEFI firmware available with SLES 15 SP3,
|
||||
which allow boot options common to physical systems, along with other features
|
||||
tailored to virtualization. Various VGABIOS ROMs, from the SEABIOS project,
|
||||
are also available.
|
||||
@ -73,7 +73,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Guest execution state may be "moved" in both time (save/restore) and space
|
||||
(static and live migration). These migrations or save/restore operations can
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP2
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP3
|
||||
host or between hosts of the same version. Certain other restrictions also
|
||||
apply.
|
||||
|
||||
@ -113,7 +113,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Portions of the host file system may be shared with a guest by using virtFS.
|
||||
|
||||
- A guest "agent" is available for SLES 15 SP2 KVM guests via the
|
||||
- A guest "agent" is available for SLES 15 SP3 KVM guests via the
|
||||
qemu-guest-agent package. This allows some introspection and control of the
|
||||
guest OS environment from the host.
|
||||
|
||||
@ -210,6 +210,9 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
-device at24c-eeprom
|
||||
-device mmio_interface
|
||||
-device ssi-sd
|
||||
-device vhost-user-vsock-pci-transitional
|
||||
-device vhost-vsock-pci-transitional
|
||||
-device virtio-iommu-pci-transitional
|
||||
-enable-hax
|
||||
-tdf
|
||||
-xen-create
|
||||
@ -224,6 +227,8 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
query-events
|
||||
query-migrate-cache-size (use query-migrate-parameters instead)
|
||||
|
||||
- This previously supported QMP command is no longer recognized:
|
||||
|
||||
- These previously supported monitor commands are now deprecated:
|
||||
change
|
||||
cpu-add
|
||||
@ -231,6 +236,7 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
migrate_set_speed
|
||||
|
||||
- These previously supported monitor commands are no longer recognized:
|
||||
cpu-add
|
||||
pci_add (use device_add instead)
|
||||
pci_del (use device_del instead)
|
||||
usb_add (use device_add instead)
|
||||
@ -281,8 +287,8 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
better functionality and usability going forward. In some cases existing
|
||||
problems or even bugs in older interfaces cannot be fixed due to functional
|
||||
expectations, but are resolved in the newer interface or option.
|
||||
This advice includes moving to the most recent machine type (eg virt-4.2
|
||||
instead of virt-3.1) if possible.
|
||||
This advice includes moving to the most recent machine type (eg virt-5.2
|
||||
instead of virt-4.2) if possible.
|
||||
|
||||
- The following command line options are supported:
|
||||
-accel ...
|
||||
@ -316,11 +322,10 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
vhost-scsi-pci-non-transitional|vhost-scsi-pci-transitional|
|
||||
vhost-user-blk-pci-non-transitional|vhost-user-blk-pci-transitional|
|
||||
vhost-user-scsi-pci-non-transitional|vhost-user-scsi-pci-transitional|
|
||||
vhost-vsock-pci-non-transitional|vhost-vsock-pci-transitional|
|
||||
virtio-9p-pci-non-transitional|virtio-9p-pci-transitional|
|
||||
virtio-balloon-pci-non-transitional|virtio-balloon-pci-transitional|
|
||||
virtio-blk-pci-non-transitional|virtio-blk-pci-transitional|
|
||||
virtio-input-host-pci-non-transitional|
|
||||
vhost-vsock-pci-non-transitional|virtio-9p-pci-non-transitional|
|
||||
virtio-9p-pci-transitional|virtio-balloon-pci-non-transitional|
|
||||
virtio-balloon-pci-transitional|virtio-blk-pci-non-transitional|
|
||||
virtio-blk-pci-transitional|virtio-input-host-pci-non-transitional|
|
||||
virtio-input-host-pci-transitional|virtio-net-pci-non-transitional|
|
||||
virtio-net-pci-transitional|virtio-rng-pci-non-transitional|
|
||||
virtio-rng-pci-transitional|virtio-scsi-pci-non-transitional|
|
||||
@ -357,8 +362,8 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
-kernel ...
|
||||
-loadvm ...
|
||||
-m ...
|
||||
-M [help|?|none|virt|virt-2.6|virt-2.11|virtio-3.1|virt-4.2]
|
||||
-machine [help|?|none|virt|virt-2.6|virt-2.11|virt-3.1|virt-4.2]
|
||||
-M [help|?|none|virt|virt-2.6|virt-2.11|virtio-3.1|virt-4.2|virt-5.2]
|
||||
-machine [help|?|none|virt|virt-2.6|virt-2.11|virt-3.1|virt-4.2|virt-5.2]
|
||||
-mem-path ...
|
||||
-mem-prealloc
|
||||
-mon ...
|
||||
@ -428,7 +433,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
closefd ...
|
||||
cont
|
||||
cpu ...
|
||||
cpu-add ...
|
||||
delvm ...
|
||||
device_add ...
|
||||
device_del ...
|
||||
@ -516,12 +520,15 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
block-dirty-bitmap-enable
|
||||
block-dirty-bitmap-merge
|
||||
block-dirty-bitmap-remove
|
||||
block-export-add
|
||||
block-export-del
|
||||
block-latency-histogram-set
|
||||
block_passwd
|
||||
block_resize
|
||||
block_set_io_throttle
|
||||
block-set-write-threshold
|
||||
block_stream
|
||||
calc-dirty-rate
|
||||
change
|
||||
change-vnc-password
|
||||
chardev-add
|
||||
@ -573,6 +580,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-acpi-ospm-status
|
||||
query-balloon
|
||||
query-block
|
||||
query-block-exports
|
||||
query-block-jobs
|
||||
query-blockstats
|
||||
query-chardev
|
||||
@ -580,13 +588,12 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-command-line-options
|
||||
query-commands
|
||||
query-cpu-definitions
|
||||
query-cpu-model-baseline
|
||||
query-cpu-model-comparison
|
||||
query-cpu-model-expansion
|
||||
query-cpus
|
||||
query-cpus-fast
|
||||
query-current-machine
|
||||
query-display-options
|
||||
query-dirty-rate
|
||||
query-dump
|
||||
query-dump-guest-memory-capability
|
||||
query-events
|
||||
@ -630,7 +637,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
remove-fd
|
||||
ringbuf-read
|
||||
ringbuf-write
|
||||
rtc-reset-reinjection
|
||||
screendump
|
||||
send-key
|
||||
set_link
|
||||
@ -727,15 +733,18 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
nrf51_soc.timer|platform-ehci-usb|sse-200|vmware-svga|vmxnet3|ati-vga|
|
||||
cirrus-vga|vhost-user-fs-device|tulip|ati-vga|aw-hc-ehci-usb|
|
||||
virtio-iommu-device|virtio-iommu-pci|
|
||||
virtio-iommu-pci-non-transitional|virtio-iommu-pci-transitional|
|
||||
cortex-m7-arm-cpu|allwinner-cpucfg|allwinner-h3|allwinner-h3-ccu|
|
||||
allwinner-h3-dramc|allwinner-h3-sysctrl|allwinner-rtc-sun4i|
|
||||
allwinner-rtc-sun6i|allwinner-rtc-sun7i|allwinner-sdhost-sun4i|
|
||||
allwinner-sdhost-sun5i|allwinner-sid|allwinner-sun8i-emac|imx.rngc|
|
||||
imx.usbphy|serial|serial-io|stm32f405-soc|stm32f4xx-exti|
|
||||
stm32f4xx-syscfg|tpm-tis-device|nvdimm|vhost-user-vsock-device|i
|
||||
vhost-user-vsock-pci|vhost-user-vsock-pci-non-transitional|
|
||||
vhost-user-vsock-pci-transitional]
|
||||
virtio-iommu-pci-non-transitional|cortex-m7-arm-cpu|allwinner-cpucfg|
|
||||
allwinner-h3|allwinner-h3-ccu|allwinner-h3-dramc|allwinner-h3-sysctrl|
|
||||
allwinner-rtc-sun4i|allwinner-rtc-sun6i|allwinner-rtc-sun7i|
|
||||
allwinner-sdhost-sun4i|allwinner-sdhost-sun5i|allwinner-sid|
|
||||
allwinner-sun8i-emac|imx.rngc|imx.usbphy|serial|serial-io|
|
||||
stm32f405-soc|stm32f4xx-exti|stm32f4xx-syscfg|tpm-tis-device|nvdimm|
|
||||
vhost-user-vsock-device|vhost-user-vsock-pci|
|
||||
vhost-user-vsock-pci-non-transitional|nvme-ns|ads7846|led|ssd0323|
|
||||
vhost-user-vga|ctucan_pci|bcm2835-cprman-clock-mux|
|
||||
bcm2835-cprman-cprman-dsi0hsck-mux|bcm2835-cprman-cprman-pll|
|
||||
bcm2835-cprman-cprman-pll-channel|mt25ql512ab|mx66l5123f|n25q512ax3|
|
||||
ssd0323|u2f-passthru]
|
||||
(the following are aliases of these unsupported devices: lsi|
|
||||
piix3-usb-uhci)
|
||||
(note that some of these device names represent supported devices and
|
||||
@ -759,29 +768,32 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
|
||||
[akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie|connex|
|
||||
cubieboard|highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb|lm3s811evb|
|
||||
mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway|mps2-an385|mps2-an505|
|
||||
mps2-an511|mps2-an521|musca-a|musca-b1|musicpal|n800|n810|netduino2|
|
||||
netduinoplus2|nuri|orangepi-pc|palmetto-bmc|raspi2|raspi3|realview-eb|
|
||||
realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|
|
||||
sbsa-ref|smdkc210|sonorapass-bmc|spitz|swift-bmc|sx1|sx1-v1|tacoma-bmc|
|
||||
terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15|vexpress-a9|
|
||||
virt-2.7|virt-2.8|virt-2.12|virt-3.0|virt-4.0|virt-4.1|virt-5.0|virt-5.1|
|
||||
witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2]
|
||||
mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway|mps2-an385|mps2-an386|
|
||||
mps2-an500|mps2-an505|mps2-an511|mps2-an521|musca-a|musca-b1|musicpal|n800|
|
||||
n810|netduino2|netduinoplus2|npcm750-evb|nuri|orangepi-pc|palmetto-bmc|
|
||||
quanta-gsj|raspi0|raspi1ap|raspi2|raspi2b|raspi3|raspi3ap|raspi3b|
|
||||
realview-eb|realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|romulus-bmc|
|
||||
sabrelite|sbsa-ref|smdkc210|sonorapass-bmc|spitz|supermicrox11-bmc|
|
||||
swift-bmc|sx1|sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|
|
||||
versatilepb|vexpress-a15|vexpress-a9|virt-2.7|virt-2.8|virt-2.12|virt-3.0|
|
||||
virt-4.0|virt-4.1|virt-5.0|virt-5.1|witherspoon-bmc|xilinx-zynq-a9|
|
||||
xlnx-versal-virt|xlnx-zcu102|z2]
|
||||
|
||||
-machine
|
||||
|
||||
[akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie|
|
||||
connex|cubieboard|highbank|imx25-pdk|integratorcp|kzm|lm3s6965evb|
|
||||
lm3s811evb|mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit|midway|
|
||||
mps2-an385|mps2-an521|mps2-an505|mps2-an511|musca-a|musca-b1|
|
||||
musicpal|n800|n810|netduino2|netduinoplus2|nuri|orangepi-pc|
|
||||
palmetto-bmc|raspi2|raspi3|realview-eb|realview-eb-mpcore|
|
||||
realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|sbsa-ref|
|
||||
smdkc210|sonorapass-bmc|spitz|swift-bmc|sx1|sx1-v1|tacoma-bmc|
|
||||
terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15|vexpress-a9|
|
||||
virt-2.7|virt-2.8|virt-2.12|virt-3.0|virt-4.0|virt-4.1|virt-5.0|
|
||||
virt-5.1|witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|
|
||||
z2]
|
||||
mps2-an385|mps2-an386|mps2-an500|mps2-an521|mps2-an505|mps2-an511|
|
||||
musca-a|musca-b1|musicpal|n800|n810|netduino2|netduinoplus2|
|
||||
npcm750-evb|nuri|orangepi-pc|palmetto-bmc|quanta-gsj|raspi0|raspi1ap|
|
||||
raspi2|raspi2b|raspi3|raspi3ap|raspi3b|realview-eb|
|
||||
realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|romulus-bmc|
|
||||
sabrelite|sbsa-ref|smdkc210|sonorapass-bmc|spitz|supermicrox11-bmc|
|
||||
swift-bmc|sx1|sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|
|
||||
versatilepb|vexpress-a15|vexpress-a9|virt-2.7|virt-2.8|virt-2.12|
|
||||
virt-3.0|virt-4.0|virt-4.1|virt-5.0|virt-5.1|witherspoon-bmc|
|
||||
xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2]
|
||||
|
||||
-mtdblock file
|
||||
-net [dump|socket|vde] ...
|
||||
@ -842,6 +854,9 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
netdev_add
|
||||
netdev_del ...
|
||||
pcie_aer_inject_error ...
|
||||
replay_break ...
|
||||
replay_delete_break
|
||||
replay_seek ...
|
||||
set_link ...
|
||||
set_password ...
|
||||
singlestep ...
|
||||
@ -860,15 +875,15 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
change-backing-file
|
||||
drive-backup
|
||||
drive-mirror
|
||||
dump-skeys
|
||||
netdev_add
|
||||
netdev_del
|
||||
nbd-server-add
|
||||
nbd-server-start
|
||||
nbd-server-stop
|
||||
query-colo-status
|
||||
query-sev
|
||||
query-sev-launch-measure
|
||||
replay_break
|
||||
replay_delete_break
|
||||
replay_seek
|
||||
x-blockdev-amend
|
||||
x-blockdev-change
|
||||
x-blockdev-insert-medium
|
||||
|
@ -1,5 +1,5 @@
|
||||
[qemu-ppc package document]
|
||||
|
||||
POST SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
SLES 15 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
|
||||
QEMU/KVM on ppc is not supported.
|
||||
|
@ -1,11 +1,11 @@
|
||||
[qemu-s390 package document]
|
||||
|
||||
POST SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
SLES 15 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The QEMU based packages included with SLES 15 SP2 provide a large variety of
|
||||
The QEMU based packages included with SLES 15 SP3 provide a large variety of
|
||||
features, from the very latest customer requests to features of questionable
|
||||
quality or value. The linux kernel includes components which contribute KVM
|
||||
virtualization features as well. This document was created to assist the user
|
||||
@ -73,7 +73,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Guest execution state may be "moved" in both time (save/restore) and space
|
||||
(static and live migration). These migrations or save/restore operations can
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP2
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP3
|
||||
host or between hosts of the same version. Certain other restrictions also
|
||||
apply.
|
||||
|
||||
@ -113,7 +113,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Portions of the host file system may be shared with a guest by using virtFS.
|
||||
|
||||
- A guest "agent" is available for SLES 15 SP2 KVM guests via the
|
||||
- A guest "agent" is available for SLES 15 SP3 KVM guests via the
|
||||
qemu-guest-agent package. This allows some introspection and control of the
|
||||
guest OS environment from the host.
|
||||
|
||||
@ -203,6 +203,9 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
- These previously unsupported command line options are no longer recognized:
|
||||
-device mmio_interface
|
||||
-device ramfb
|
||||
-device vhost-user-vsock-pci-transitional
|
||||
-device vhost-vsock-pci-transitional
|
||||
-device virtio-iommu-pci-transitional
|
||||
-enable-hax
|
||||
-tdf
|
||||
-xen-create
|
||||
@ -219,11 +222,11 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
|
||||
- These previously supported monitor commands are now deprecated:
|
||||
change
|
||||
cpu-add
|
||||
migrate_set_downtime
|
||||
migrate_set_speed
|
||||
|
||||
- These previously supported monitor commands are no longer recognized:
|
||||
cpu-add
|
||||
pci_add (use device_add instead)
|
||||
pci_del (use device_del instead)
|
||||
|
||||
@ -275,7 +278,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
problems or even bugs in older interfaces cannot be fixed due to functional
|
||||
expectations, but are resolved in the newer interface or option.
|
||||
This advice includes moving to the most recent machine type (eg
|
||||
s390-ccw-virtio-4.2 instead of s390-ccw-virtio-3.1) if possible.
|
||||
s390-ccw-virtio-5.2 instead of s390-ccw-virtio-4.2) if possible.
|
||||
|
||||
- The following command line options are supported:
|
||||
-accel ...
|
||||
@ -301,14 +304,14 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
scsi-generic|scsi-disk|scsi-block|virtio-rng-pci|pci-bridge|
|
||||
megasas-gen2|e1000e|e1000|zpci|virtio-gpu-ccw|virtio-keyboard-ccw|
|
||||
vhost-user-blk-pci|vhost-user-scsi|vhost-user-scsi-pci|
|
||||
vhost-vsock-ccw|virtio-balloon-ccw|virtio-blk-ccw|
|
||||
vhost-scsi-ccw|vhost-user-blk|virtio-crypto-ccw|virtio-net-ccw|
|
||||
virtio-rng-ccw|virtio-scsi-ccw|virtio-serial-ccw|virtio-mouse-ccw|
|
||||
virtio-tablet-ccw|vfio-pci|virtio-vga|vhost-scsi-pci-non-transitional|
|
||||
vhost-vsock-ccw|virtio-balloon-ccw|virtio-blk-ccw|vhost-scsi-ccw|
|
||||
vhost-user-blk|virtio-crypto-ccw|virtio-net-ccw|virtio-rng-ccw|
|
||||
virtio-scsi-ccw|virtio-serial-ccw|virtio-mouse-ccw|virtio-tablet-ccw|
|
||||
vfio-pci|virtio-vga|vhost-scsi-pci-non-transitional|
|
||||
vhost-scsi-pci-transitional|vhost-user-blk-pci-non-transitional|
|
||||
vhost-user-blk-pci-transitional|vhost-user-scsi-pci-non-transitional|
|
||||
vhost-user-scsi-pci-transitional|vhost-vsock-pci-non-transitional|
|
||||
vhost-vsock-pci-transitional|virtio-9p-pci-non-transitional|
|
||||
virtio-9p-ccw|virtio-9p-pci-non-transitional|
|
||||
virtio-9p-pci-transitional|virtio-balloon-pci-non-transitional|
|
||||
virtio-balloon-pci-transitional|virtio-blk-pci-non-transitional|
|
||||
virtio-blk-pci-transitional|virtio-input-host-pci-non-transitional|
|
||||
@ -351,12 +354,14 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
-M
|
||||
|
||||
[help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9|
|
||||
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2]
|
||||
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2|
|
||||
s390-ccw-virtio-5.2]
|
||||
|
||||
-machine
|
||||
|
||||
[help|?|none|s390-ccw-virtio|s390-ccw-virtio-2.6|s390-ccw-virtio-2.9|
|
||||
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2]
|
||||
s390-ccw-virtio-2.11|s390-ccw-virtio-3.1|s390-ccw-virtio-4.2|
|
||||
s390-ccw-virtio-5.2]
|
||||
|
||||
-mem-path ...
|
||||
-mem-prealloc
|
||||
@ -421,7 +426,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
closefd ...
|
||||
cont
|
||||
cpu ...
|
||||
cpu-add ...
|
||||
delvm ...
|
||||
device_add ...
|
||||
device_del ...
|
||||
@ -509,12 +513,15 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
block-dirty-bitmap-enable
|
||||
block-dirty-bitmap-merge
|
||||
block-dirty-bitmap-remove
|
||||
block-export-add
|
||||
block-export-del
|
||||
block-latency-histogram-set
|
||||
block_passwd
|
||||
block_resize
|
||||
block_set_io_throttle
|
||||
block-set-write-threshold
|
||||
block_stream
|
||||
calc-dirty-rate
|
||||
change
|
||||
change-vnc-password
|
||||
chardev-add
|
||||
@ -566,6 +573,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-acpi-ospm-status
|
||||
query-balloon
|
||||
query-block
|
||||
query-block-exports
|
||||
query-block-jobs
|
||||
query-blockstats
|
||||
query-chardev
|
||||
@ -579,6 +587,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-cpus
|
||||
query-cpus-fast
|
||||
query-current-machine
|
||||
query-dirty-rate
|
||||
query-display-options
|
||||
query-dump
|
||||
query-dump-guest-memory-capability
|
||||
@ -620,7 +629,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
remove-fd
|
||||
ringbuf-read
|
||||
ringbuf-write
|
||||
rtc-reset-reinjection
|
||||
screendump
|
||||
send-key
|
||||
set_link
|
||||
@ -656,8 +664,8 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
isa-parallel|isa-serial|isa-vga|lsi53c810|lsi53c810a|max-s390x-cpu|
|
||||
megasas|mptsas1068|ne2k_isa|ne2k_pci|nec-usb-xhci|nvdimm|nvme|pc-dimm|
|
||||
pci-testdev|pcnet|pc-testdev|piix3-ide|piix3-ide|piix3-ide-xen|
|
||||
piix4-usb-uhci|pvscsi|pxb|pxb-host|pxb-pcie|qemu-s390-cpu|
|
||||
rocker|s390-flic|s390-flic-qemu|s390-ipl|s390-pcihost|
|
||||
piix4-usb-uhci|pvscsi|pxb|pxb-host|pxb-pcie|qemu-s390-cpu|rocker|
|
||||
s390-flic|s390-flic-qemu|s390-ipl|s390-pcihost|
|
||||
s390-sclp-event-facility|s390-skeys-qemu|sb16|sclp|sclpconsole|
|
||||
sclp-cpu-hotplug|sclplmconsole|sclp-memory-hotplug-dev|sclpquiesce|
|
||||
sd-card|sdhci-pci|secondary-vga|sga|smbus-eeprom|tpci200|usb-audio|
|
||||
@ -688,10 +696,9 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
zEC12.2-s390x-cpu|zEC12-base-s390x-cpu|zEC12-s390x-cpu|cpu-cluster|
|
||||
z14.2-base-s390x-cpu|z14.2-s390x-cpu|vhost-user-fs-device|
|
||||
virtio-iommu-device|virtio-iommu-pci|
|
||||
virtio-iommu-pci-non-transitional|virtio-iommu-pci-transitional|
|
||||
vhost-user-vsock-device|vhost-user-vsock-pci|
|
||||
vhost-user-vsock-pci-non-transitional|
|
||||
vhost-user-vsock-pci-transitional]
|
||||
virtio-iommu-pci-non-transitional|vhost-user-vsock-device|
|
||||
vhost-user-vsock-pci|vhost-user-vsock-pci-non-transitional|
|
||||
vhost-user-fs-ccw]
|
||||
(the following are aliases of these unsupported devices: lsi|
|
||||
ahci|e1000-82540em|vfio-ccw)
|
||||
(note that some of these device names represent supported devices and
|
||||
@ -791,6 +798,9 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
netdev_add
|
||||
netdev_del ...
|
||||
pcie_aer_inject_error ...
|
||||
replay_break ...
|
||||
replay_delete_break
|
||||
replay_seek ...
|
||||
set_link ...
|
||||
set_password ...
|
||||
singlestep ...
|
||||
@ -816,11 +826,12 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
nbd-server-start
|
||||
nbd-server-stop
|
||||
query-colo-status
|
||||
query-sev
|
||||
query-sev-launch-measure
|
||||
query-tpm
|
||||
query-tpm-models
|
||||
query-tpm-types
|
||||
replay_break
|
||||
replay_delete_break
|
||||
replay_seek
|
||||
x-blockdev-amend
|
||||
x-blockdev-change
|
||||
x-blockdev-insert-medium
|
||||
|
@ -1,11 +1,11 @@
|
||||
[qemu-x86 package document]
|
||||
|
||||
POST SLES 15 SP2 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
SLES 15 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The QEMU based packages included with SLES 15 SP2 provide a large variety of
|
||||
The QEMU based packages included with SLES 15 SP3 provide a large variety of
|
||||
features, from the very latest customer requests to features of questionable
|
||||
quality or value. The linux kernel includes components which contribute KVM
|
||||
virtualization features as well. This document was created to assist the user
|
||||
@ -81,7 +81,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Guest execution state may be "moved" in both time (save/restore) and space
|
||||
(static and live migration). These migrations or save/restore operations can
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP2
|
||||
take place either from certain prior SLES versioned hosts to a SLES 15 SP3
|
||||
host or between hosts of the same version. Certain other restrictions also
|
||||
apply.
|
||||
|
||||
@ -132,7 +132,7 @@ Major QEMU/KVM Supported Features
|
||||
|
||||
- Portions of the host file system may be shared with a guest by using virtFS.
|
||||
|
||||
- A guest "agent" is available for SLES 15 SP2 KVM guests via the
|
||||
- A guest "agent" is available for SLES 15 SP3 KVM guests via the
|
||||
qemu-guest-agent package. This allows some introspection and control of the
|
||||
guest OS environment from the host.
|
||||
|
||||
@ -267,6 +267,9 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
-device sysbus-ohci
|
||||
-device tegra2-ehci-usb
|
||||
-device testdev (use -device pc-testdev instead)
|
||||
-device vhost-user-vsock-pci-transitional
|
||||
-device vhost-vsock-pci-transitional
|
||||
-device virtio-iommu-pci-transitional
|
||||
-device virtio-mmio
|
||||
-device xln,ps7-usb
|
||||
-enable-hax (use -accel hax instead)
|
||||
@ -304,11 +307,11 @@ Deprecated, Superseded, Modified and Dropped Features
|
||||
|
||||
- These previously supported monitor commands are now deprecated:
|
||||
change
|
||||
cpu-add
|
||||
migrate_set_downtime
|
||||
migrate_set_speed
|
||||
|
||||
- These previously supported monitor commands are no longer recognized:
|
||||
cpu-add
|
||||
cpu_set
|
||||
pci_add (use device_add instead)
|
||||
pci_del (use device_del instead)
|
||||
@ -372,8 +375,8 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
better functionality and usability going forward. In some cases existing
|
||||
problems or even bugs in older interfaces cannot be fixed due to functional
|
||||
expectations, but are resolved in the newer interface or option.
|
||||
This advice includes moving to the most recent machine type (eg pc-i440fx-4.2
|
||||
instead of pc-i440fx-3.1) if possible.
|
||||
This advice includes moving to the most recent machine type (eg pc-i440fx-5.2
|
||||
instead of pc-i440fx-4.2) if possible.
|
||||
|
||||
- The following command line options are supported:
|
||||
-accel ...
|
||||
@ -409,8 +412,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
vhost-user-blk|vhost-user-blk-pci|vhost-user-blk-pci-non-transitional|
|
||||
vhost-user-blk-pci-transitional|vhost-user-scsi|vhost-user-scsi-pci|
|
||||
vhost-user-scsi-pci-non-transitional|vhost-user-pci-transitional|
|
||||
vhost-vsock-pci|vhost-vsock-pci-non-transitional|
|
||||
vhost-vsock-pci-transitional|virtio-balloon-pci|
|
||||
vhost-vsock-pci|vhost-vsock-pci-non-transitional|virtio-balloon-pci|
|
||||
virtio-balloon-pci-non-transitional|virtio-balloon-pci-transitional|
|
||||
virtio-blk-pci|virtio-blk-pci-non-transitional|
|
||||
virtio-blk-pci-transitional|virtio-net-pci|
|
||||
@ -461,15 +463,16 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
-M
|
||||
|
||||
[help|?|none|pc|pc-i440fx-1.4|pc-i440fx-1.7|pc-i440fx-2.0|pc-i440fx-2.3|
|
||||
pc-i440fx-2.6|pc-i440fx-2.9|pc-i440fx-2.11|pc-i440fx-3.1|pc-i440fx-4.2|q35|
|
||||
pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|pc-q35-3.1|pc-q35-4.2|xenfv|xenfv-4.2]
|
||||
pc-i440fx-2.6|pc-i440fx-2.9|pc-i440fx-2.11|pc-i440fx-3.1|pc-i440fx-4.2|
|
||||
pc-i440fx-5.2|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|pc-q35-3.1|pc-q35-4.2|
|
||||
pc-q35-5.2|xenfv|xenfv-4.2]
|
||||
|
||||
-machine
|
||||
|
||||
[help|?|none|pc|pc-i440fx-1.4|pc-i440fx-1.7|pc-i440fx-2.0|
|
||||
pc-i440fx-2.3|pc-440fx-2.6|pc-i440fx-2.9|pc-i440fx-2.11|
|
||||
pc-i440fx-3.1|pc-i440fx-4.2|q35|pc-q35-2.6|pc-q35-2.9|pc-q35-2.11|
|
||||
pc-q35-3.1|pc-q35-4.2|xenfv|xenifv-4.2]
|
||||
pc-i440fx-3.1|pc-i440fx-4.2|pc-i440fx-5.2|q35|pc-q35-2.6|pc-q35-2.9|
|
||||
pc-q35-2.11|pc-q35-3.1|pc-q35-4.2|pc-q35-5.2|xenfv|xenifv-4.2]
|
||||
|
||||
-mem-path ...
|
||||
-mem-prealloc
|
||||
@ -547,7 +550,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
closefd ...
|
||||
cont
|
||||
cpu ...
|
||||
cpu-add ...
|
||||
delvm ...
|
||||
device_add ...
|
||||
device_del ...
|
||||
@ -637,12 +639,15 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
block-dirty-bitmap-enable
|
||||
block-dirty-bitmap-merge
|
||||
block-dirty-bitmap-remove
|
||||
block-export-add
|
||||
block-export-del
|
||||
block-latency-histogram-set
|
||||
block_passwd
|
||||
block_resize
|
||||
block_set_io_throttle
|
||||
block-set-write-threshold
|
||||
block_stream
|
||||
calc-dirty-rate
|
||||
change
|
||||
change-vnc-password
|
||||
chardev-add
|
||||
@ -694,6 +699,7 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-acpi-ospm-status
|
||||
query-balloon
|
||||
query-block
|
||||
query-block-exports
|
||||
query-block-jobs
|
||||
query-blockstats
|
||||
query-chardev
|
||||
@ -701,12 +707,11 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-command-line-options
|
||||
query-commands
|
||||
query-cpu-definitions
|
||||
query-cpu-model-baseline
|
||||
query-cpu-model-comparison
|
||||
query-cpu-model-expansion
|
||||
query-cpus
|
||||
query-cpus-fast
|
||||
query-current-machine
|
||||
query-dirty-rate
|
||||
query-display-options
|
||||
query-dump
|
||||
query-dump-guest-memory-capability
|
||||
@ -736,6 +741,9 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
query-rocker-of-dpa-groups
|
||||
query-rocker-ports
|
||||
query-rx-filter
|
||||
query-sev
|
||||
query-sev-capabilities
|
||||
query-sev-launch-measure
|
||||
query-spice
|
||||
query-status
|
||||
query-target
|
||||
@ -751,7 +759,6 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
remove-fd
|
||||
ringbuf-read
|
||||
ringbuf-write
|
||||
rtc-reset-reinjection
|
||||
screendump
|
||||
send-key
|
||||
set_link
|
||||
@ -802,11 +809,10 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
vfio-platform|xen-bridge|xen-cdrom|xen-disk|ati-vga|cpu-cluster|
|
||||
intel-iommu|vhost-user-fs-device|tulip|ati-vga|i2c-ddc|pci-ipmi-bt|
|
||||
pci-ipmi-kcs|serial|serial-io|serial-mm|virtio-iommu-device|
|
||||
virtio-iommu-pci|virtio-iommu-pci-nontransitional|
|
||||
virtio-iommu-pci-transitional|xen-sysdev|imx.usbphy|vmbus-bridge|
|
||||
vhost-user-vsock-device|vhost-user-vsock-pci|
|
||||
vhost-user-vsock-pci-non-transitional|
|
||||
vhost-user-vsock-pci-transitional|virtio-mem|virtio-mem-pci]
|
||||
virtio-iommu-pci|virtio-iommu-pci-nontransitional|xen-sysdev|
|
||||
imx.usbphy|vmbus-bridge|vhost-user-vsock-device|vhost-user-vsock-pci|
|
||||
vhost-user-vsock-pci-non-transitional|virtio-mem|virtio-mem-pci|
|
||||
nvme-ns|ctucan_pci|u2f-passthru]
|
||||
(the following are aliases of these unsupported devices: lsi)
|
||||
(note that some of these device names represent supported devices and
|
||||
are used internally, but are not specifyable via -device even though
|
||||
@ -893,6 +899,9 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
netdev_add
|
||||
netdev_del ...
|
||||
pcie_aer_inject_error ...
|
||||
replay_break ...
|
||||
replay_delete_break
|
||||
replay_seek ...
|
||||
set_link ...
|
||||
set_password ...
|
||||
singlestep ...
|
||||
@ -911,15 +920,16 @@ QEMU Command-Line and Monitor Syntax and Support
|
||||
change-backing-file
|
||||
drive-backup
|
||||
drive-mirror
|
||||
dump-skeys
|
||||
netdev_add
|
||||
netdev_del
|
||||
nbd-server-add
|
||||
nbd-server-start
|
||||
nbd-server-stop
|
||||
query-colo-status
|
||||
query-sev
|
||||
query-sev-launch-measure
|
||||
query-replay
|
||||
replay_break
|
||||
replay_delete_break
|
||||
replay_seek
|
||||
x-blockdev-amend
|
||||
x-blockdev-change
|
||||
x-blockdev-insert-medium
|
||||
|
@ -84,7 +84,7 @@ index 34045ea3cfeb5e30acac17ae8a10..b5cec71dd9a718055d9264e51946 100755
|
||||
echo
|
||||
echo "== Detecting -U and force-share conflicts =="
|
||||
diff --git a/tests/qemu-iotests/153.out b/tests/qemu-iotests/153.out
|
||||
index 8a79e1ee870d72c6d346898113b1..d1d6b673b22d5443700ae9c146c7 100644
|
||||
index fcaa71aeeebd855d684d8056410f..8fbc7413e716462a4f196c39db5e 100644
|
||||
--- a/tests/qemu-iotests/153.out
|
||||
+++ b/tests/qemu-iotests/153.out
|
||||
@@ -424,6 +424,8 @@ Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/qemu-iotests/162.out b/tests/qemu-iotests/162.out
|
||||
index 5a00d36d17878376380430dad705..390cca9027e918f1a0d252753ce5 100644
|
||||
index f8714cb0d27d2b15d3feaaaf729c..2793aed277903222ea4396157d31 100644
|
||||
--- a/tests/qemu-iotests/162.out
|
||||
+++ b/tests/qemu-iotests/162.out
|
||||
@@ -1,7 +1,7 @@
|
||||
|
@ -574,9 +574,9 @@ rm -rf $BUNDLE_DIR
|
||||
rm -f qemu.changes.added
|
||||
fi
|
||||
# Decide if there is a better way to handle the no change case:
|
||||
# if [[ "0" = "$(expr $CHANGED_COUNT + $DELETED_COUNT + $ADDED_COUNT)" ]]; then
|
||||
# osc revert bundles.tar.xz
|
||||
# fi
|
||||
if [[ "0" = "$(expr $CHANGED_COUNT + $DELETED_COUNT + $ADDED_COUNT)" ]]; then
|
||||
osc revert bundles.tar.xz
|
||||
fi
|
||||
echo "git patch summary"
|
||||
echo " unchanged: $UNCHANGED_COUNT"
|
||||
echo " changed: $CHANGED_COUNT"
|
||||
|
41
usb-Help-compiler-out-to-avoid-a-warning.patch
Normal file
41
usb-Help-compiler-out-to-avoid-a-warning.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From: Bruce Rogers <brogers@suse.com>
|
||||
Date: Thu, 3 Dec 2020 16:48:13 -0700
|
||||
Subject: usb: Help compiler out to avoid a warning on x86 compilation
|
||||
|
||||
Include-If: %ifarch %arm %ix86
|
||||
|
||||
There is an assert present which already should give the compiler
|
||||
enough information about the value of i as used in the snprintf,
|
||||
but if I remember right, for x86, because memory is tighter some of
|
||||
the compiler smarts are turned off, so we get the uninformed warning
|
||||
there and not on other archs. So on x86 only we'll add some code to
|
||||
help the compiler out, so we can again compile qemu with
|
||||
--enable-werror.
|
||||
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
hw/usb/hcd-xhci.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
|
||||
index 9ce7ca706e3beff96cde32ddded3..e0884d777093a39506ac01fdce3a 100644
|
||||
--- a/hw/usb/hcd-xhci.c
|
||||
+++ b/hw/usb/hcd-xhci.c
|
||||
@@ -3306,7 +3306,7 @@ static void usb_xhci_init(XHCIState *xhci)
|
||||
USB_SPEED_MASK_FULL |
|
||||
USB_SPEED_MASK_HIGH;
|
||||
assert(i < XHCI_MAXPORTS);
|
||||
- snprintf(port->name, sizeof(port->name), "usb2 port #%d", i+1);
|
||||
+ snprintf(port->name, sizeof(port->name), "usb2 port #%d", i+1 < XHCI_MAXPORTS ? i+1 : 0);
|
||||
speedmask |= port->speedmask;
|
||||
}
|
||||
if (i < xhci->numports_3) {
|
||||
@@ -3320,7 +3320,7 @@ static void usb_xhci_init(XHCIState *xhci)
|
||||
port->uport = &xhci->uports[i];
|
||||
port->speedmask = USB_SPEED_MASK_SUPER;
|
||||
assert(i < XHCI_MAXPORTS);
|
||||
- snprintf(port->name, sizeof(port->name), "usb3 port #%d", i+1);
|
||||
+ snprintf(port->name, sizeof(port->name), "usb3 port #%d", i+1 < XHCI_MAXPORTS ? i+1 : 0);
|
||||
speedmask |= port->speedmask;
|
||||
}
|
||||
usb_register_port(&xhci->bus, &xhci->uports[i], xhci, i,
|
@ -1,86 +0,0 @@
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Tue, 25 Aug 2020 07:36:36 +0200
|
||||
Subject: usb: fix setup_len init (CVE-2020-14364)
|
||||
|
||||
Git-commit: b946434f2659a182afc17e155be6791ebfb302eb
|
||||
References: bsc#1175441, CVE-2020-14364
|
||||
|
||||
Store calculated setup_len in a local variable, verify it, and only
|
||||
write it to the struct (USBDevice->setup_len) in case it passed the
|
||||
sanity checks.
|
||||
|
||||
This prevents other code (do_token_{in,out} functions specifically)
|
||||
from working with invalid USBDevice->setup_len values and overrunning
|
||||
the USBDevice->setup_buf[] buffer.
|
||||
|
||||
Fixes: CVE-2020-14364
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Tested-by: Gonglei <arei.gonglei@huawei.com>
|
||||
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
---
|
||||
hw/usb/core.c | 16 ++++++++++------
|
||||
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/core.c b/hw/usb/core.c
|
||||
index 5abd128b6bc5f5440e18b143fe41..5234dcc73fea6012f7143f307640 100644
|
||||
--- a/hw/usb/core.c
|
||||
+++ b/hw/usb/core.c
|
||||
@@ -129,6 +129,7 @@ void usb_wakeup(USBEndpoint *ep, unsigned int stream)
|
||||
static void do_token_setup(USBDevice *s, USBPacket *p)
|
||||
{
|
||||
int request, value, index;
|
||||
+ unsigned int setup_len;
|
||||
|
||||
if (p->iov.size != 8) {
|
||||
p->status = USB_RET_STALL;
|
||||
@@ -138,14 +139,15 @@ static void do_token_setup(USBDevice *s, USBPacket *p)
|
||||
usb_packet_copy(p, s->setup_buf, p->iov.size);
|
||||
s->setup_index = 0;
|
||||
p->actual_length = 0;
|
||||
- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
|
||||
- if (s->setup_len > sizeof(s->data_buf)) {
|
||||
+ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
|
||||
+ if (setup_len > sizeof(s->data_buf)) {
|
||||
fprintf(stderr,
|
||||
"usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
|
||||
- s->setup_len, sizeof(s->data_buf));
|
||||
+ setup_len, sizeof(s->data_buf));
|
||||
p->status = USB_RET_STALL;
|
||||
return;
|
||||
}
|
||||
+ s->setup_len = setup_len;
|
||||
|
||||
request = (s->setup_buf[0] << 8) | s->setup_buf[1];
|
||||
value = (s->setup_buf[3] << 8) | s->setup_buf[2];
|
||||
@@ -259,26 +261,28 @@ static void do_token_out(USBDevice *s, USBPacket *p)
|
||||
static void do_parameter(USBDevice *s, USBPacket *p)
|
||||
{
|
||||
int i, request, value, index;
|
||||
+ unsigned int setup_len;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
s->setup_buf[i] = p->parameter >> (i*8);
|
||||
}
|
||||
|
||||
s->setup_state = SETUP_STATE_PARAM;
|
||||
- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
|
||||
s->setup_index = 0;
|
||||
|
||||
request = (s->setup_buf[0] << 8) | s->setup_buf[1];
|
||||
value = (s->setup_buf[3] << 8) | s->setup_buf[2];
|
||||
index = (s->setup_buf[5] << 8) | s->setup_buf[4];
|
||||
|
||||
- if (s->setup_len > sizeof(s->data_buf)) {
|
||||
+ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
|
||||
+ if (setup_len > sizeof(s->data_buf)) {
|
||||
fprintf(stderr,
|
||||
"usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
|
||||
- s->setup_len, sizeof(s->data_buf));
|
||||
+ setup_len, sizeof(s->data_buf));
|
||||
p->status = USB_RET_STALL;
|
||||
return;
|
||||
}
|
||||
+ s->setup_len = setup_len;
|
||||
|
||||
if (p->pid == USB_TOKEN_OUT) {
|
||||
usb_packet_copy(p, s->data_buf, s->setup_len);
|
@ -1,99 +0,0 @@
|
||||
From: Halil Pasic <pasic@linux.ibm.com>
|
||||
Date: Tue, 1 Sep 2020 17:00:18 +0200
|
||||
Subject: virtio: add vhost-user-fs-ccw device
|
||||
|
||||
Git-commit: bd0bbb9aba2afbc2ea24b0475be04f795468b381
|
||||
References: jsc#sle-13822
|
||||
|
||||
Wire up the CCW device for vhost-user-fs.
|
||||
|
||||
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
|
||||
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
|
||||
Message-id: 20200901150019.29229-2-mhartmay@linux.ibm.com
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Signed-off-by: Liang Yan <lyan@suse.com>
|
||||
---
|
||||
hw/s390x/vhost-user-fs-ccw.c | 75 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 75 insertions(+)
|
||||
|
||||
diff --git a/hw/s390x/vhost-user-fs-ccw.c b/hw/s390x/vhost-user-fs-ccw.c
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..6c6f2692930110aebf8038061b259407238942bf
|
||||
--- /dev/null
|
||||
+++ b/hw/s390x/vhost-user-fs-ccw.c
|
||||
@@ -0,0 +1,75 @@
|
||||
+/*
|
||||
+ * virtio ccw vhost-user-fs implementation
|
||||
+ *
|
||||
+ * Copyright 2020 IBM Corp.
|
||||
+ *
|
||||
+ * This work is licensed under the terms of the GNU GPL, version 2 or (at
|
||||
+ * your option) any later version. See the COPYING file in the top-level
|
||||
+ * directory.
|
||||
+ */
|
||||
+#include "qemu/osdep.h"
|
||||
+#include "hw/qdev-properties.h"
|
||||
+#include "qapi/error.h"
|
||||
+#include "hw/virtio/vhost-user-fs.h"
|
||||
+#include "virtio-ccw.h"
|
||||
+
|
||||
+typedef struct VHostUserFSCcw {
|
||||
+ VirtioCcwDevice parent_obj;
|
||||
+ VHostUserFS vdev;
|
||||
+} VHostUserFSCcw;
|
||||
+
|
||||
+#define TYPE_VHOST_USER_FS_CCW "vhost-user-fs-ccw"
|
||||
+#define VHOST_USER_FS_CCW(obj) \
|
||||
+ OBJECT_CHECK(VHostUserFSCcw, (obj), TYPE_VHOST_USER_FS_CCW)
|
||||
+
|
||||
+
|
||||
+static Property vhost_user_fs_ccw_properties[] = {
|
||||
+ DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
|
||||
+ VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
|
||||
+ DEFINE_PROP_UINT32("max_revision", VirtioCcwDevice, max_rev,
|
||||
+ VIRTIO_CCW_MAX_REV),
|
||||
+ DEFINE_PROP_END_OF_LIST(),
|
||||
+};
|
||||
+
|
||||
+static void vhost_user_fs_ccw_realize(VirtioCcwDevice *ccw_dev, Error **errp)
|
||||
+{
|
||||
+ VHostUserFSCcw *dev = VHOST_USER_FS_CCW(ccw_dev);
|
||||
+ DeviceState *vdev = DEVICE(&dev->vdev);
|
||||
+
|
||||
+ qdev_realize(vdev, BUS(&ccw_dev->bus), errp);
|
||||
+}
|
||||
+
|
||||
+static void vhost_user_fs_ccw_instance_init(Object *obj)
|
||||
+{
|
||||
+ VHostUserFSCcw *dev = VHOST_USER_FS_CCW(obj);
|
||||
+ VirtioCcwDevice *ccw_dev = VIRTIO_CCW_DEVICE(obj);
|
||||
+
|
||||
+ ccw_dev->force_revision_1 = true;
|
||||
+ virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
|
||||
+ TYPE_VHOST_USER_FS);
|
||||
+}
|
||||
+
|
||||
+static void vhost_user_fs_ccw_class_init(ObjectClass *klass, void *data)
|
||||
+{
|
||||
+ DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
+ VirtIOCCWDeviceClass *k = VIRTIO_CCW_DEVICE_CLASS(klass);
|
||||
+
|
||||
+ k->realize = vhost_user_fs_ccw_realize;
|
||||
+ device_class_set_props(dc, vhost_user_fs_ccw_properties);
|
||||
+ set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
|
||||
+}
|
||||
+
|
||||
+static const TypeInfo vhost_user_fs_ccw = {
|
||||
+ .name = TYPE_VHOST_USER_FS_CCW,
|
||||
+ .parent = TYPE_VIRTIO_CCW_DEVICE,
|
||||
+ .instance_size = sizeof(VHostUserFSCcw),
|
||||
+ .instance_init = vhost_user_fs_ccw_instance_init,
|
||||
+ .class_init = vhost_user_fs_ccw_class_init,
|
||||
+};
|
||||
+
|
||||
+static void vhost_user_fs_ccw_register(void)
|
||||
+{
|
||||
+ type_register_static(&vhost_user_fs_ccw);
|
||||
+}
|
||||
+
|
||||
+type_init(vhost_user_fs_ccw_register)
|
@ -27,12 +27,12 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/migration/savevm.c b/migration/savevm.c
|
||||
index a843d202b5b4dd449e6982b59d80..d75642353e8276f5d3c391fe2c48 100644
|
||||
index 5f937a2762793f2cc48bcd40a423..c302ca3048d0c9684d5757149f76 100644
|
||||
--- a/migration/savevm.c
|
||||
+++ b/migration/savevm.c
|
||||
@@ -2820,7 +2820,7 @@ void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live,
|
||||
@@ -2893,7 +2893,7 @@ void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live,
|
||||
* So call bdrv_inactivate_all (release locks) here to let the other
|
||||
* side of the migration take controle of the images.
|
||||
* side of the migration take control of the images.
|
||||
*/
|
||||
- if (live && !saved_vm_running) {
|
||||
+ if (!saved_vm_running) {
|
||||
|
Loading…
Reference in New Issue
Block a user