qemu trivial patches for 2023-07-08
-----BEGIN PGP SIGNATURE----- iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmSo5UsPHG1qdEB0bHMu bXNrLnJ1AAoJEHAbT2saaT5ZIygH/0z5heVC4CnU5sNuv8GRbXZL7sOXxvoOQf9K dEBD0/Lzu8QL7mJBpqPuzK4FN/CNnY2nUaGGn3k7U44MrsU6g2P5ksD4Y0hUebkZ sw+bsaqDeG0J+kZ9IN4V1iLoyGGQ53GDynisZMWY8w/hDmCkoRe5Xy2LZrXS7fgw LVT04wlxTYG/EwXqMukBYd/S/lap8pUnzgc+VngHmX5gBF4O7qIAZV1j5WobIW6S /OOOOBZ4YJU9Ha18H4DWrE5+ptfE2sfWAO0z+c/v3bpNTUb9bCyNIE3R3mUwg7z6 i/96za3R9XH0ChoBWrKHtFn5wygUMGHt63JwIph0bwr73ENVlrE= =4nBR -----END PGP SIGNATURE----- Merge tag 'trivial-patches-20230708' of https://gitlab.com/mjt0k/qemu into staging qemu trivial patches for 2023-07-08 # -----BEGIN PGP SIGNATURE----- # # iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmSo5UsPHG1qdEB0bHMu # bXNrLnJ1AAoJEHAbT2saaT5ZIygH/0z5heVC4CnU5sNuv8GRbXZL7sOXxvoOQf9K # dEBD0/Lzu8QL7mJBpqPuzK4FN/CNnY2nUaGGn3k7U44MrsU6g2P5ksD4Y0hUebkZ # sw+bsaqDeG0J+kZ9IN4V1iLoyGGQ53GDynisZMWY8w/hDmCkoRe5Xy2LZrXS7fgw # LVT04wlxTYG/EwXqMukBYd/S/lap8pUnzgc+VngHmX5gBF4O7qIAZV1j5WobIW6S # /OOOOBZ4YJU9Ha18H4DWrE5+ptfE2sfWAO0z+c/v3bpNTUb9bCyNIE3R3mUwg7z6 # i/96za3R9XH0ChoBWrKHtFn5wygUMGHt63JwIph0bwr73ENVlrE= # =4nBR # -----END PGP SIGNATURE----- # gpg: Signature made Sat 08 Jul 2023 05:25:47 AM BST # gpg: using RSA key 7B73BAD68BE7A2C289314B22701B4F6B1A693E59 # gpg: issuer "mjt@tls.msk.ru" # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" [undefined] # gpg: aka "Michael Tokarev <mjt@debian.org>" [undefined] # gpg: aka "Michael Tokarev <mjt@corpit.ru>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044 65C5 # Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931 4B22 701B 4F6B 1A69 3E59 * tag 'trivial-patches-20230708' of https://gitlab.com/mjt0k/qemu: hw/arm/virt-acpi-build.c: Add missing header migration: unexport migrate_fd_error() migration: factor out "resume_requested" in qmp_migrate() qemu-options.hx: Fix indentation of some option descriptions vdpa: Sort vdpa_feature_bits array alphabetically vdpa: Delete duplicated VIRTIO_NET_F_RSS in vdpa_feature_bits hw: Simplify calls to pci_nic_init_nofail() trivial: man page: document display::gtk::zoom-to-fit target/avr: Fix handling of interrupts above 33. hw/riscv/virt.c: fix typo in 'aia' description Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
9e7ce9ebce
@ -689,13 +689,7 @@ static void create_pcie(SBSAMachineState *sms)
|
||||
pci = PCI_HOST_BRIDGE(dev);
|
||||
if (pci->bus) {
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
if (!nd->model) {
|
||||
nd->model = g_strdup(mc->default_nic);
|
||||
}
|
||||
|
||||
pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/bitmap.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "trace.h"
|
||||
#include "hw/core/cpu.h"
|
||||
#include "target/arm/cpu.h"
|
||||
|
@ -1479,13 +1479,7 @@ static void create_pcie(VirtMachineState *vms)
|
||||
vms->bus = pci->bus;
|
||||
if (vms->bus) {
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
if (!nd->model) {
|
||||
nd->model = g_strdup(mc->default_nic);
|
||||
}
|
||||
|
||||
pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -547,13 +547,7 @@ static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *
|
||||
|
||||
/* Network init */
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
if (!nd->model) {
|
||||
nd->model = g_strdup(mc->default_nic);
|
||||
}
|
||||
|
||||
pci_nic_init_nofail(nd, pci_bus, nd->model, NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -454,13 +454,7 @@ static inline void loongson3_virt_devices_init(MachineState *machine,
|
||||
}
|
||||
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
if (!nd->model) {
|
||||
nd->model = g_strdup(mc->default_nic);
|
||||
}
|
||||
|
||||
pci_nic_init_nofail(nd, pci_bus, nd->model, NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1692,7 +1692,7 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)
|
||||
virt_set_aia);
|
||||
object_class_property_set_description(oc, "aia",
|
||||
"Set type of AIA interrupt "
|
||||
"conttoller. Valid values are "
|
||||
"controller. Valid values are "
|
||||
"none, aplic, and aplic-imsic.");
|
||||
|
||||
object_class_property_add_str(oc, "aia-guests",
|
||||
|
@ -103,13 +103,7 @@ static void create_pcie(MachineState *ms, CPUXtensaState *env, int irq_base,
|
||||
pci = PCI_HOST_BRIDGE(dev);
|
||||
if (pci->bus) {
|
||||
for (i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
if (!nd->model) {
|
||||
nd->model = g_strdup(mc->default_nic);
|
||||
}
|
||||
|
||||
pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
|
||||
pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1220,7 +1220,7 @@ static void migrate_error_free(MigrationState *s)
|
||||
}
|
||||
}
|
||||
|
||||
void migrate_fd_error(MigrationState *s, const Error *error)
|
||||
static void migrate_fd_error(MigrationState *s, const Error *error)
|
||||
{
|
||||
trace_migrate_fd_error(error_get_pretty(error));
|
||||
assert(s->to_dst_file == NULL);
|
||||
@ -1637,6 +1637,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
|
||||
bool has_inc, bool inc, bool has_detach, bool detach,
|
||||
bool has_resume, bool resume, Error **errp)
|
||||
{
|
||||
bool resume_requested;
|
||||
Error *local_err = NULL;
|
||||
MigrationState *s = migrate_get_current();
|
||||
const char *p = NULL;
|
||||
@ -1646,13 +1647,14 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
|
||||
return;
|
||||
}
|
||||
|
||||
resume_requested = has_resume && resume;
|
||||
if (!migrate_prepare(s, has_blk && blk, has_inc && inc,
|
||||
has_resume && resume, errp)) {
|
||||
resume_requested, errp)) {
|
||||
/* Error detected, put into errp */
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(has_resume && resume)) {
|
||||
if (!resume_requested) {
|
||||
if (!yank_register_instance(MIGRATION_YANK_INSTANCE, errp)) {
|
||||
return;
|
||||
}
|
||||
@ -1671,7 +1673,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
|
||||
} else if (strstart(uri, "fd:", &p)) {
|
||||
fd_start_outgoing_migration(s, p, &local_err);
|
||||
} else {
|
||||
if (!(has_resume && resume)) {
|
||||
if (!resume_requested) {
|
||||
yank_unregister_instance(MIGRATION_YANK_INSTANCE);
|
||||
}
|
||||
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "uri",
|
||||
@ -1683,7 +1685,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
|
||||
}
|
||||
|
||||
if (local_err) {
|
||||
if (!(has_resume && resume)) {
|
||||
if (!resume_requested) {
|
||||
yank_unregister_instance(MIGRATION_YANK_INSTANCE);
|
||||
}
|
||||
migrate_fd_error(s, local_err);
|
||||
|
@ -466,7 +466,6 @@ bool migration_has_all_channels(void);
|
||||
uint64_t migrate_max_downtime(void);
|
||||
|
||||
void migrate_set_error(MigrationState *s, const Error *error);
|
||||
void migrate_fd_error(MigrationState *s, const Error *error);
|
||||
|
||||
void migrate_fd_connect(MigrationState *s, Error *error_in);
|
||||
|
||||
|
@ -50,39 +50,45 @@ typedef struct VhostVDPAState {
|
||||
bool started;
|
||||
} VhostVDPAState;
|
||||
|
||||
/*
|
||||
* The array is sorted alphabetically in ascending order,
|
||||
* with the exception of VHOST_INVALID_FEATURE_BIT,
|
||||
* which should always be the last entry.
|
||||
*/
|
||||
const int vdpa_feature_bits[] = {
|
||||
VIRTIO_F_NOTIFY_ON_EMPTY,
|
||||
VIRTIO_RING_F_INDIRECT_DESC,
|
||||
VIRTIO_RING_F_EVENT_IDX,
|
||||
VIRTIO_F_ANY_LAYOUT,
|
||||
VIRTIO_F_IOMMU_PLATFORM,
|
||||
VIRTIO_F_NOTIFY_ON_EMPTY,
|
||||
VIRTIO_F_RING_PACKED,
|
||||
VIRTIO_F_RING_RESET,
|
||||
VIRTIO_F_VERSION_1,
|
||||
VIRTIO_NET_F_CSUM,
|
||||
VIRTIO_NET_F_GUEST_CSUM,
|
||||
VIRTIO_NET_F_CTRL_GUEST_OFFLOADS,
|
||||
VIRTIO_NET_F_GSO,
|
||||
VIRTIO_NET_F_GUEST_TSO4,
|
||||
VIRTIO_NET_F_GUEST_TSO6,
|
||||
VIRTIO_NET_F_GUEST_ECN,
|
||||
VIRTIO_NET_F_GUEST_UFO,
|
||||
VIRTIO_NET_F_HOST_TSO4,
|
||||
VIRTIO_NET_F_HOST_TSO6,
|
||||
VIRTIO_NET_F_HOST_ECN,
|
||||
VIRTIO_NET_F_HOST_UFO,
|
||||
VIRTIO_NET_F_MRG_RXBUF,
|
||||
VIRTIO_NET_F_MTU,
|
||||
VIRTIO_NET_F_CTRL_MAC_ADDR,
|
||||
VIRTIO_NET_F_CTRL_RX,
|
||||
VIRTIO_NET_F_CTRL_RX_EXTRA,
|
||||
VIRTIO_NET_F_CTRL_VLAN,
|
||||
VIRTIO_NET_F_CTRL_MAC_ADDR,
|
||||
VIRTIO_NET_F_RSS,
|
||||
VIRTIO_NET_F_MQ,
|
||||
VIRTIO_NET_F_CTRL_VQ,
|
||||
VIRTIO_F_IOMMU_PLATFORM,
|
||||
VIRTIO_F_RING_PACKED,
|
||||
VIRTIO_F_RING_RESET,
|
||||
VIRTIO_NET_F_RSS,
|
||||
VIRTIO_NET_F_GSO,
|
||||
VIRTIO_NET_F_GUEST_CSUM,
|
||||
VIRTIO_NET_F_GUEST_ECN,
|
||||
VIRTIO_NET_F_GUEST_TSO4,
|
||||
VIRTIO_NET_F_GUEST_TSO6,
|
||||
VIRTIO_NET_F_GUEST_UFO,
|
||||
VIRTIO_NET_F_HASH_REPORT,
|
||||
VIRTIO_NET_F_HOST_ECN,
|
||||
VIRTIO_NET_F_HOST_TSO4,
|
||||
VIRTIO_NET_F_HOST_TSO6,
|
||||
VIRTIO_NET_F_HOST_UFO,
|
||||
VIRTIO_NET_F_MQ,
|
||||
VIRTIO_NET_F_MRG_RXBUF,
|
||||
VIRTIO_NET_F_MTU,
|
||||
VIRTIO_NET_F_RSS,
|
||||
VIRTIO_NET_F_STATUS,
|
||||
VIRTIO_RING_F_EVENT_IDX,
|
||||
VIRTIO_RING_F_INDIRECT_DESC,
|
||||
|
||||
/* VHOST_INVALID_FEATURE_BIT should always be the last entry */
|
||||
VHOST_INVALID_FEATURE_BIT
|
||||
};
|
||||
|
||||
|
@ -652,7 +652,7 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
|
||||
" size: initial amount of guest memory\n"
|
||||
" slots: number of hotplug slots (default: none)\n"
|
||||
" maxmem: maximum amount of guest memory (default: none)\n"
|
||||
"NOTE: Some architectures might enforce a specific granularity\n",
|
||||
" Note: Some architectures might enforce a specific granularity\n",
|
||||
QEMU_ARCH_ALL)
|
||||
SRST
|
||||
``-m [size=]megs[,slots=n,maxmem=size]``
|
||||
@ -2143,6 +2143,9 @@ SRST
|
||||
|
||||
``show-menubar=on|off`` : Display the main window menubar, defaults to "on"
|
||||
|
||||
``zoom-to-fit=on|off`` : Expand video output to the window size,
|
||||
defaults to "off"
|
||||
|
||||
``curses[,charset=<encoding>]``
|
||||
Display video output via curses. For graphics device models
|
||||
which support a text mode, QEMU can display this output using a
|
||||
@ -2214,8 +2217,8 @@ DEF("spice", HAS_ARG, QEMU_OPTION_spice,
|
||||
" [,disable-agent-file-xfer=on|off][,agent-mouse=[on|off]]\n"
|
||||
" [,playback-compression=[on|off]][,seamless-migration=[on|off]]\n"
|
||||
" [,gl=[on|off]][,rendernode=<file>]\n"
|
||||
" enable spice\n"
|
||||
" at least one of {port, tls-port} is mandatory\n",
|
||||
" enable spice\n"
|
||||
" at least one of {port, tls-port} is mandatory\n",
|
||||
QEMU_ARCH_ALL)
|
||||
#endif
|
||||
SRST
|
||||
|
@ -52,7 +52,7 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
|
||||
}
|
||||
if (interrupt_request & CPU_INTERRUPT_HARD) {
|
||||
if (cpu_interrupts_enabled(env) && env->intsrc != 0) {
|
||||
int index = ctz32(env->intsrc);
|
||||
int index = ctz64(env->intsrc);
|
||||
cs->exception_index = EXCP_INT(index);
|
||||
avr_cpu_do_interrupt(cs);
|
||||
|
||||
@ -79,7 +79,7 @@ void avr_cpu_do_interrupt(CPUState *cs)
|
||||
if (cs->exception_index == EXCP_RESET) {
|
||||
vector = 0;
|
||||
} else if (env->intsrc != 0) {
|
||||
vector = ctz32(env->intsrc) + 1;
|
||||
vector = ctz64(env->intsrc) + 1;
|
||||
}
|
||||
|
||||
if (avr_feature(env, AVR_FEATURE_3_BYTE_PC)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user