mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging
trivial patches for 2024-10-04 # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmcAEU0ACgkQgqpKJDse # lHgJlhAAmDwxXcHIeNgyOxSmopgKC5VKmux1qvi3PNmM46CGYTDG3s4MIUIRPNhi # zoLQhSdjcFNQi133WoXAWZInTwYCeEe4JbWev7bTDZxoJvZFss6P/DhmSY7tCnaf # QU+XeNl86Iy28glZjiL9EFZi7SM9+OWVF5Dqxd2NlCNA6OlnAtHoVp3bHUqkVgr1 # Lhq+0GRsxhU9bg3eO+yGXVquuOtSMa5LjEqP6kUe6ajo1E4/+GqO9hvfaj8K35Da # B5wa39/MnSN0alnNS8rJUJXxBp2hZt8VamntL86v4kMLQCVGR+KL5FmApZzxzM/r # fY8Ky4b5w8U0BDXnwCcr3A2bYlurC7FhDgBJw3YCQNwbxQbbG7PfbMATD86nfZPd # HTjDjn874reGXgdXt15+3q1zm8kDylMZxEJpRdmsB+uYFVDlNCimPcCPe1YSjVcW # AR5/NubrigpuX8qM5tSiLhjoeAZ0vQjoapGs5zi2dQtg4MltRgi32HPIRq3ooUUg # T2XBhDUElrwwftGQuDN6Vt5Z0EQPP6HDoFLz0VhzWvlsR5DOLjxK4oLsDmQoV34n # 9I4wSmFzwX0Vy0QJIjL6LFec/Ky8uO7QAX5PCLcsEnZy+/q2GsSdwXCPT+SPJ1AL # bEfqLw7U6CSv/eiGOpScCnCLENrw3GXrN31SqtOtgxDPj2lVEsU= # =HYZX # -----END PGP SIGNATURE----- # gpg: Signature made Fri 04 Oct 2024 17:01:17 BST # gpg: using RSA key 64AA2AB531D56903366BFEF982AA4A243B1E9478 # gpg: Good signature from "Michael Tokarev <mjt@debian.org>" [full] # gpg: aka "Michael Tokarev <mjt@corpit.ru>" [full] # gpg: aka "Michael Tokarev <mjt@tls.msk.ru>" [full] # Primary key fingerprint: 9D8B E14E 3F2A 9DD7 9199 28F1 61AD 3D98 ECDF 2C8E # Subkey fingerprint: 64AA 2AB5 31D5 6903 366B FEF9 82AA 4A24 3B1E 9478 * tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu: (23 commits) MAINTAINERS: Add myself as maintainer of e500 machines docs/devel: Mention post_load hook restrictions where we document the hook tests/functional: Fix hash validation hw/mips: Build fw_cfg.c once tests/tcg/plugins: Remove remainder of the cris target block-backend: Remove deadcode hw/net/rocker: Remove unused rocker_fp_ports hw/pci: Remove unused pcie_chassis_find_slot replay: Remove unused replay_disable_events remote: Remove unused remote_iohub_finalize vhost: Remove unused vhost_dev_{load|save}_inflight ui/cursor: remove cursor_get_mono_image hw: Remove unused fw_cfg_init_io linux-user: Remove unused handle_vm86_fault hw/char: Remove unused serial_set_frequency hw/net/net_rx_pkt: Remove deadcode net: Remove deadcode q35: Remove unused mch_mcfg_base hw/xen: Remove deadcode MAINTAINERS: remove gensyscalls.sh from the linux-user section ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
+4
-3
@@ -1378,8 +1378,9 @@ F: hw/pci-host/ppc4xx_pci.c
|
||||
F: tests/functional/test_ppc_bamboo.py
|
||||
|
||||
e500
|
||||
M: Bernhard Beschow <shentey@gmail.com>
|
||||
L: qemu-ppc@nongnu.org
|
||||
S: Orphan
|
||||
S: Odd Fixes
|
||||
F: hw/ppc/e500*
|
||||
F: hw/ppc/ppce500_spin.c
|
||||
F: hw/gpio/mpc8xxx.c
|
||||
@@ -1395,8 +1396,9 @@ F: docs/system/ppc/ppce500.rst
|
||||
F: tests/functional/test_ppc64_e500.py
|
||||
|
||||
mpc8544ds
|
||||
M: Bernhard Beschow <shentey@gmail.com>
|
||||
L: qemu-ppc@nongnu.org
|
||||
S: Orphan
|
||||
S: Odd Fixes
|
||||
F: hw/ppc/mpc8544ds.c
|
||||
F: hw/ppc/mpc8544_guts.c
|
||||
F: tests/functional/test_ppc_mpc8544ds.py
|
||||
@@ -3685,7 +3687,6 @@ F: configs/targets/*linux-user.mak
|
||||
F: scripts/qemu-binfmt-conf.sh
|
||||
F: scripts/update-syscalltbl.sh
|
||||
F: scripts/update-mips-syscall-args.sh
|
||||
F: scripts/gensyscalls.sh
|
||||
|
||||
Tiny Code Generator (TCG)
|
||||
-------------------------
|
||||
|
||||
@@ -853,15 +853,6 @@ BlockBackendPublic *blk_get_public(BlockBackend *blk)
|
||||
return &blk->public;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns a BlockBackend given the associated @public fields.
|
||||
*/
|
||||
BlockBackend *blk_by_public(BlockBackendPublic *public)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
return container_of(public, BlockBackend, public);
|
||||
}
|
||||
|
||||
/*
|
||||
* Disassociates the currently associated BlockDriverState from @blk.
|
||||
*/
|
||||
@@ -1214,12 +1205,6 @@ BlockDeviceIoStatus blk_iostatus(const BlockBackend *blk)
|
||||
return blk->iostatus;
|
||||
}
|
||||
|
||||
void blk_iostatus_disable(BlockBackend *blk)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
blk->iostatus_enabled = false;
|
||||
}
|
||||
|
||||
void blk_iostatus_reset(BlockBackend *blk)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
@@ -2228,28 +2213,6 @@ void blk_set_enable_write_cache(BlockBackend *blk, bool wce)
|
||||
blk->enable_write_cache = wce;
|
||||
}
|
||||
|
||||
void blk_activate(BlockBackend *blk, Error **errp)
|
||||
{
|
||||
BlockDriverState *bs = blk_bs(blk);
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
if (!bs) {
|
||||
error_setg(errp, "Device '%s' has no medium", blk->name);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Migration code can call this function in coroutine context, so leave
|
||||
* coroutine context if necessary.
|
||||
*/
|
||||
if (qemu_in_coroutine()) {
|
||||
bdrv_co_activate(bs, errp);
|
||||
} else {
|
||||
GRAPH_RDLOCK_GUARD_MAINLOOP();
|
||||
bdrv_activate(bs, errp);
|
||||
}
|
||||
}
|
||||
|
||||
bool coroutine_fn blk_co_is_inserted(BlockBackend *blk)
|
||||
{
|
||||
BlockDriverState *bs = blk_bs(blk);
|
||||
@@ -2380,36 +2343,6 @@ bool blk_op_is_blocked(BlockBackend *blk, BlockOpType op, Error **errp)
|
||||
return bdrv_op_is_blocked(bs, op, errp);
|
||||
}
|
||||
|
||||
void blk_op_unblock(BlockBackend *blk, BlockOpType op, Error *reason)
|
||||
{
|
||||
BlockDriverState *bs = blk_bs(blk);
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
if (bs) {
|
||||
bdrv_op_unblock(bs, op, reason);
|
||||
}
|
||||
}
|
||||
|
||||
void blk_op_block_all(BlockBackend *blk, Error *reason)
|
||||
{
|
||||
BlockDriverState *bs = blk_bs(blk);
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
if (bs) {
|
||||
bdrv_op_block_all(bs, reason);
|
||||
}
|
||||
}
|
||||
|
||||
void blk_op_unblock_all(BlockBackend *blk, Error *reason)
|
||||
{
|
||||
BlockDriverState *bs = blk_bs(blk);
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
if (bs) {
|
||||
bdrv_op_unblock_all(bs, reason);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return BB's current AioContext. Note that this context may change
|
||||
* concurrently at any time, with one exception: If the BB has a root node
|
||||
@@ -2564,12 +2497,6 @@ void blk_add_remove_bs_notifier(BlockBackend *blk, Notifier *notify)
|
||||
notifier_list_add(&blk->remove_bs_notifiers, notify);
|
||||
}
|
||||
|
||||
void blk_add_insert_bs_notifier(BlockBackend *blk, Notifier *notify)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
notifier_list_add(&blk->insert_bs_notifiers, notify);
|
||||
}
|
||||
|
||||
BlockAcctStats *blk_get_stats(BlockBackend *blk)
|
||||
{
|
||||
IO_CODE();
|
||||
|
||||
@@ -465,6 +465,12 @@ Examples of such API functions are:
|
||||
- portio_list_set_address()
|
||||
- portio_list_set_enabled()
|
||||
|
||||
Since the order of device save/restore is not defined, you must
|
||||
avoid accessing or changing any other device's state in one of these
|
||||
callbacks. (For instance, don't do anything that calls ``update_irq()``
|
||||
in a ``post_load`` hook.) Otherwise, restore will not be deterministic,
|
||||
and this will break execution record/replay.
|
||||
|
||||
Iterative device migration
|
||||
--------------------------
|
||||
|
||||
|
||||
@@ -202,6 +202,9 @@ into the log.
|
||||
Saving/restoring the VM state
|
||||
-----------------------------
|
||||
|
||||
Record/replay relies on VM state save and restore being complete and
|
||||
deterministic.
|
||||
|
||||
All fields in the device state structure (including virtual timers)
|
||||
should be restored by loadvm to the same values they had before savevm.
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "qemu/log.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "qemu/lockable.h"
|
||||
#include "exec/tswap.h"
|
||||
#include "sysemu/runstate.h"
|
||||
#include "trace.h"
|
||||
#include "qapi/error.h"
|
||||
|
||||
@@ -951,13 +951,6 @@ static void serial_unrealize(DeviceState *dev)
|
||||
qemu_unregister_reset(serial_reset, s);
|
||||
}
|
||||
|
||||
/* Change the main reference oscillator frequency. */
|
||||
void serial_set_frequency(SerialState *s, uint32_t frequency)
|
||||
{
|
||||
s->baudbase = frequency;
|
||||
serial_update_parameters(s);
|
||||
}
|
||||
|
||||
const MemoryRegionOps serial_io_ops = {
|
||||
.read = serial_ioport_read,
|
||||
.write = serial_ioport_write,
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
mips_ss = ss.source_set()
|
||||
mips_ss.add(files('bootloader.c', 'mips_int.c'))
|
||||
mips_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c'))
|
||||
common_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c'))
|
||||
mips_ss.add(when: 'CONFIG_LOONGSON3V', if_true: files('loongson3_bootp.c', 'loongson3_virt.c'))
|
||||
mips_ss.add(when: 'CONFIG_MALTA', if_true: files('malta.c'))
|
||||
mips_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('cps.c'))
|
||||
|
||||
@@ -209,12 +209,6 @@ void net_rx_pkt_get_protocols(struct NetRxPkt *pkt,
|
||||
*l4hdr_proto = pkt->l4hdr_info.proto;
|
||||
}
|
||||
|
||||
size_t net_rx_pkt_get_l3_hdr_offset(struct NetRxPkt *pkt)
|
||||
{
|
||||
assert(pkt);
|
||||
return pkt->l3hdr_off;
|
||||
}
|
||||
|
||||
size_t net_rx_pkt_get_l4_hdr_offset(struct NetRxPkt *pkt)
|
||||
{
|
||||
assert(pkt);
|
||||
@@ -426,13 +420,6 @@ struct iovec *net_rx_pkt_get_iovec(struct NetRxPkt *pkt)
|
||||
return pkt->vec;
|
||||
}
|
||||
|
||||
uint16_t net_rx_pkt_get_iovec_len(struct NetRxPkt *pkt)
|
||||
{
|
||||
assert(pkt);
|
||||
|
||||
return pkt->vec_len;
|
||||
}
|
||||
|
||||
void net_rx_pkt_set_vhdr(struct NetRxPkt *pkt,
|
||||
struct virtio_net_hdr *vhdr)
|
||||
{
|
||||
|
||||
@@ -77,14 +77,6 @@ void net_rx_pkt_get_protocols(struct NetRxPkt *pkt,
|
||||
bool *hasip4, bool *hasip6,
|
||||
EthL4HdrProto *l4hdr_proto);
|
||||
|
||||
/**
|
||||
* fetches L3 header offset
|
||||
*
|
||||
* @pkt: packet
|
||||
*
|
||||
*/
|
||||
size_t net_rx_pkt_get_l3_hdr_offset(struct NetRxPkt *pkt);
|
||||
|
||||
/**
|
||||
* fetches L4 header offset
|
||||
*
|
||||
@@ -267,15 +259,6 @@ net_rx_pkt_attach_data(struct NetRxPkt *pkt, const void *data,
|
||||
*/
|
||||
struct iovec *net_rx_pkt_get_iovec(struct NetRxPkt *pkt);
|
||||
|
||||
/**
|
||||
* returns io vector length that holds the attached data
|
||||
*
|
||||
* @pkt: packet
|
||||
* @ret: IOVec length
|
||||
*
|
||||
*/
|
||||
uint16_t net_rx_pkt_get_iovec_len(struct NetRxPkt *pkt);
|
||||
|
||||
/**
|
||||
* prints rx packet data if debug is enabled
|
||||
*
|
||||
|
||||
@@ -134,11 +134,6 @@ RockerPortList *qmp_query_rocker_ports(const char *name, Error **errp)
|
||||
return list;
|
||||
}
|
||||
|
||||
uint32_t rocker_fp_ports(Rocker *r)
|
||||
{
|
||||
return r->fp_ports;
|
||||
}
|
||||
|
||||
static uint32_t rocker_get_pport_by_tx_ring(Rocker *r,
|
||||
DescRing *ring)
|
||||
{
|
||||
|
||||
@@ -72,7 +72,6 @@ DECLARE_INSTANCE_CHECKER(Rocker, ROCKER,
|
||||
TYPE_ROCKER)
|
||||
|
||||
Rocker *rocker_find(const char *name);
|
||||
uint32_t rocker_fp_ports(Rocker *r);
|
||||
int rocker_event_link_changed(Rocker *r, uint32_t pport, bool link_up);
|
||||
int rocker_event_mac_vlan_seen(Rocker *r, uint32_t pport, uint8_t *addr,
|
||||
uint16_t vlan_id);
|
||||
|
||||
@@ -1171,11 +1171,6 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase,
|
||||
return s;
|
||||
}
|
||||
|
||||
FWCfgState *fw_cfg_init_io(uint32_t iobase)
|
||||
{
|
||||
return fw_cfg_init_io_dma(iobase, 0, NULL);
|
||||
}
|
||||
|
||||
FWCfgState *fw_cfg_init_mem_wide(hwaddr ctl_addr,
|
||||
hwaddr data_addr, uint32_t data_width,
|
||||
hwaddr dma_addr, AddressSpace *dma_as)
|
||||
|
||||
@@ -662,16 +662,6 @@ static void mch_realize(PCIDevice *d, Error **errp)
|
||||
OBJECT(&mch->smram));
|
||||
}
|
||||
|
||||
uint64_t mch_mcfg_base(void)
|
||||
{
|
||||
bool ambiguous;
|
||||
Object *o = object_resolve_path_type("", TYPE_MCH_PCI_DEVICE, &ambiguous);
|
||||
if (!o) {
|
||||
return 0;
|
||||
}
|
||||
return MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT;
|
||||
}
|
||||
|
||||
static Property mch_props[] = {
|
||||
DEFINE_PROP_UINT16("extended-tseg-mbytes", MCHPCIState, ext_tseg_mbytes,
|
||||
16),
|
||||
|
||||
@@ -92,16 +92,6 @@ static PCIESlot *pcie_chassis_find_slot_with_chassis(struct PCIEChassis *c,
|
||||
return s;
|
||||
}
|
||||
|
||||
PCIESlot *pcie_chassis_find_slot(uint8_t chassis_number, uint16_t slot)
|
||||
{
|
||||
struct PCIEChassis *c;
|
||||
c = pcie_chassis_find(chassis_number);
|
||||
if (!c) {
|
||||
return NULL;
|
||||
}
|
||||
return pcie_chassis_find_slot_with_chassis(c, slot);
|
||||
}
|
||||
|
||||
int pcie_chassis_add_slot(struct PCIESlot *slot)
|
||||
{
|
||||
struct PCIEChassis *c;
|
||||
|
||||
@@ -33,19 +33,6 @@ void remote_iohub_init(RemoteIOHubState *iohub)
|
||||
}
|
||||
}
|
||||
|
||||
void remote_iohub_finalize(RemoteIOHubState *iohub)
|
||||
{
|
||||
int pirq;
|
||||
|
||||
for (pirq = 0; pirq < REMOTE_IOHUB_NB_PIRQS; pirq++) {
|
||||
qemu_set_fd_handler(event_notifier_get_fd(&iohub->resamplefds[pirq]),
|
||||
NULL, NULL, NULL);
|
||||
event_notifier_cleanup(&iohub->irqfds[pirq]);
|
||||
event_notifier_cleanup(&iohub->resamplefds[pirq]);
|
||||
qemu_mutex_destroy(&iohub->irq_level_lock[pirq]);
|
||||
}
|
||||
}
|
||||
|
||||
int remote_iohub_map_irq(PCIDevice *pci_dev, int intx)
|
||||
{
|
||||
return pci_dev->devfn;
|
||||
|
||||
@@ -1930,62 +1930,6 @@ void vhost_dev_free_inflight(struct vhost_inflight *inflight)
|
||||
}
|
||||
}
|
||||
|
||||
static int vhost_dev_resize_inflight(struct vhost_inflight *inflight,
|
||||
uint64_t new_size)
|
||||
{
|
||||
Error *err = NULL;
|
||||
int fd = -1;
|
||||
void *addr = qemu_memfd_alloc("vhost-inflight", new_size,
|
||||
F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL,
|
||||
&fd, &err);
|
||||
|
||||
if (err) {
|
||||
error_report_err(err);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
vhost_dev_free_inflight(inflight);
|
||||
inflight->offset = 0;
|
||||
inflight->addr = addr;
|
||||
inflight->fd = fd;
|
||||
inflight->size = new_size;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void vhost_dev_save_inflight(struct vhost_inflight *inflight, QEMUFile *f)
|
||||
{
|
||||
if (inflight->addr) {
|
||||
qemu_put_be64(f, inflight->size);
|
||||
qemu_put_be16(f, inflight->queue_size);
|
||||
qemu_put_buffer(f, inflight->addr, inflight->size);
|
||||
} else {
|
||||
qemu_put_be64(f, 0);
|
||||
}
|
||||
}
|
||||
|
||||
int vhost_dev_load_inflight(struct vhost_inflight *inflight, QEMUFile *f)
|
||||
{
|
||||
uint64_t size;
|
||||
|
||||
size = qemu_get_be64(f);
|
||||
if (!size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (inflight->size != size) {
|
||||
int ret = vhost_dev_resize_inflight(inflight, size);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
inflight->queue_size = qemu_get_be16(f);
|
||||
|
||||
qemu_get_buffer(f, inflight->addr, size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int vhost_dev_prepare_inflight(struct vhost_dev *hdev, VirtIODevice *vdev)
|
||||
{
|
||||
int r;
|
||||
|
||||
@@ -93,8 +93,6 @@ struct SerialMM {
|
||||
extern const VMStateDescription vmstate_serial;
|
||||
extern const MemoryRegionOps serial_io_ops;
|
||||
|
||||
void serial_set_frequency(SerialState *s, uint32_t frequency);
|
||||
|
||||
#define TYPE_SERIAL "serial"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(SerialState, SERIAL)
|
||||
|
||||
|
||||
@@ -321,7 +321,6 @@ void fw_cfg_add_extra_pci_roots(PCIBus *bus, FWCfgState *s);
|
||||
|
||||
FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase,
|
||||
AddressSpace *dma_as);
|
||||
FWCfgState *fw_cfg_init_io(uint32_t iobase);
|
||||
FWCfgState *fw_cfg_init_mem(hwaddr ctl_addr, hwaddr data_addr);
|
||||
FWCfgState *fw_cfg_init_mem_wide(hwaddr ctl_addr,
|
||||
hwaddr data_addr, uint32_t data_width,
|
||||
|
||||
@@ -181,8 +181,6 @@ struct Q35PCIHost {
|
||||
#define MCH_PCIE_DEV 1
|
||||
#define MCH_PCIE_FUNC 0
|
||||
|
||||
uint64_t mch_mcfg_base(void);
|
||||
|
||||
/*
|
||||
* Arbitrary but unique BNF number for IOAPIC device.
|
||||
*
|
||||
|
||||
@@ -72,7 +72,6 @@ struct PCIESlot {
|
||||
};
|
||||
|
||||
void pcie_chassis_create(uint8_t chassis_number);
|
||||
PCIESlot *pcie_chassis_find_slot(uint8_t chassis, uint16_t slot);
|
||||
int pcie_chassis_add_slot(struct PCIESlot *slot);
|
||||
void pcie_chassis_del_slot(PCIESlot *s);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user