@@ -32,8 +32,9 @@
static QLIST_HEAD (capture_list_head, CaptureState) capture_head;
-void hmp_info_capture(Monitor *mon, const QDict *qdict)
+void hmp_info_capture(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int i;
CaptureState *s;
@@ -45,7 +46,7 @@ void hmp_info_capture(Monitor *mon, const QDict *qdict)
}
}
-void hmp_stopcapture(Monitor *mon, const QDict *qdict)
+void hmp_stopcapture(MonitorHMP *hmp, const QDict *qdict)
{
int i;
int n = qdict_get_int(qdict, "n");
@@ -63,8 +64,9 @@ void hmp_stopcapture(Monitor *mon, const QDict *qdict)
}
}
-void hmp_wavcapture(Monitor *mon, const QDict *qdict)
+void hmp_wavcapture(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *path = qdict_get_str(qdict, "path");
int freq = qdict_get_try_int(qdict, "freq", 44100);
int bits = qdict_get_try_int(qdict, "bits", 16);
@@ -17,8 +17,9 @@
#include "qobject/qdict.h"
-void hmp_info_cryptodev(Monitor *mon, const QDict *qdict)
+void hmp_info_cryptodev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
QCryptodevInfoList *il;
QCryptodevBackendServiceTypeList *sl;
QCryptodevBackendClientList *cl;
@@ -87,8 +87,9 @@ out:
hmp_handle_error(mon, err);
}
-void hmp_drive_add(Monitor *mon, const QDict *qdict)
+void hmp_drive_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
DriveInfo *dinfo;
QemuOpts *opts;
@@ -135,8 +136,9 @@ err:
hmp_handle_error(mon, err);
}
-void hmp_drive_del(Monitor *mon, const QDict *qdict)
+void hmp_drive_del(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *id = qdict_get_str(qdict, "id");
BlockBackend *blk;
BlockDriverState *bs;
@@ -194,8 +196,9 @@ unlock:
hmp_handle_error(mon, err);
}
-void hmp_commit(Monitor *mon, const QDict *qdict)
+void hmp_commit(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
BlockBackend *blk;
int ret;
@@ -232,8 +235,9 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
+void hmp_drive_mirror(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *filename = qdict_get_str(qdict, "target");
const char *format = qdict_get_try_str(qdict, "format");
bool reuse = qdict_get_try_bool(qdict, "reuse", false);
@@ -258,8 +262,9 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_drive_backup(Monitor *mon, const QDict *qdict)
+void hmp_drive_backup(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *filename = qdict_get_str(qdict, "target");
const char *format = qdict_get_try_str(qdict, "format");
@@ -288,8 +293,9 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
+void hmp_block_job_set_speed(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
int64_t value = qdict_get_int(qdict, "speed");
@@ -299,8 +305,9 @@ void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
+void hmp_block_job_cancel(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
bool force = qdict_get_try_bool(qdict, "force", false);
@@ -310,8 +317,9 @@ void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
+void hmp_block_job_pause(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
@@ -320,8 +328,9 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
+void hmp_block_job_resume(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
@@ -330,8 +339,9 @@ void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
+void hmp_block_job_complete(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
@@ -340,8 +350,9 @@ void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
+void hmp_snapshot_blkdev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *filename = qdict_get_str(qdict, "snapshot-file");
const char *format = qdict_get_try_str(qdict, "format");
@@ -355,8 +366,9 @@ void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
+void hmp_snapshot_blkdev_internal(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *name = qdict_get_str(qdict, "name");
Error *err = NULL;
@@ -365,8 +377,9 @@ void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
+void hmp_snapshot_delete_blkdev_internal(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *name = qdict_get_str(qdict, "name");
const char *id = qdict_get_try_str(qdict, "id");
@@ -376,8 +389,9 @@ void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
+void hmp_nbd_server_start(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *uri = qdict_get_str(qdict, "uri");
bool writable = qdict_get_try_bool(qdict, "writable", false);
bool all = qdict_get_try_bool(qdict, "all", false);
@@ -438,8 +452,9 @@ exit:
hmp_handle_error(mon, local_err);
}
-void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
+void hmp_nbd_server_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *name = qdict_get_try_str(qdict, "name");
bool writable = qdict_get_try_bool(qdict, "writable", false);
@@ -456,8 +471,9 @@ void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, local_err);
}
-void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
+void hmp_nbd_server_remove(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *name = qdict_get_str(qdict, "name");
bool force = qdict_get_try_bool(qdict, "force", false);
Error *err = NULL;
@@ -467,16 +483,18 @@ void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
+void hmp_nbd_server_stop(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_nbd_server_stop(&err);
hmp_handle_error(mon, err);
}
-void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict)
+void coroutine_fn hmp_block_resize(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
int64_t size = qdict_get_int(qdict, "size");
Error *err = NULL;
@@ -485,8 +503,9 @@ void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_block_stream(Monitor *mon, const QDict *qdict)
+void hmp_block_stream(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *error = NULL;
const char *device = qdict_get_str(qdict, "device");
const char *base = qdict_get_try_str(qdict, "base");
@@ -500,8 +519,9 @@ void hmp_block_stream(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, error);
}
-void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
+void hmp_block_set_io_throttle(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
char *device = (char *) qdict_get_str(qdict, "device");
BlockIOThrottle throttle = {
@@ -528,8 +548,9 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_eject(Monitor *mon, const QDict *qdict)
+void hmp_eject(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool force = qdict_get_try_bool(qdict, "force", false);
const char *device = qdict_get_str(qdict, "device");
Error *err = NULL;
@@ -538,8 +559,9 @@ void hmp_eject(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_qemu_io(Monitor *mon, const QDict *qdict)
+void hmp_qemu_io(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool qdev = qdict_get_try_bool(qdict, "qdev", false);
const char *device = qdict_get_str(qdict, "device");
const char *command = qdict_get_str(qdict, "command");
@@ -666,8 +688,9 @@ static void print_block_info(Monitor *mon, BlockInfo *info,
}
}
-void hmp_info_block(Monitor *mon, const QDict *qdict)
+void hmp_info_block(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
BlockInfoList *block_list, *info;
BlockDeviceInfoList *blockdev_list, *blockdev;
const char *device = qdict_get_try_str(qdict, "device");
@@ -719,8 +742,9 @@ void hmp_info_block(Monitor *mon, const QDict *qdict)
qapi_free_BlockDeviceInfoList(blockdev_list);
}
-void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
+void hmp_info_blockstats(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
BlockStatsList *stats_list, *stats;
stats_list = qmp_query_blockstats(false, false, NULL);
@@ -757,8 +781,9 @@ void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
qapi_free_BlockStatsList(stats_list);
}
-void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
+void hmp_info_block_jobs(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
BlockJobInfoList *list;
list = qmp_query_block_jobs(&error_abort);
@@ -793,8 +818,9 @@ void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
qapi_free_BlockJobInfoList(list);
}
-void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
+void hmp_info_snapshots(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
BlockDriverState *bs, *bs1;
BdrvNextIterator it1;
QEMUSnapshotInfo *sn_tab, *sn;
@@ -24,8 +24,9 @@
#include "qemu/config-file.h"
#include "qemu/option.h"
-void hmp_info_chardev(Monitor *mon, const QDict *qdict)
+void hmp_info_chardev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
ChardevInfoList *char_info, *info;
char_info = qmp_query_chardev(NULL);
@@ -37,8 +38,9 @@ void hmp_info_chardev(Monitor *mon, const QDict *qdict)
qapi_free_ChardevInfoList(char_info);
}
-void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
+void hmp_ringbuf_write(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *chardev = qdict_get_str(qdict, "device");
const char *data = qdict_get_str(qdict, "data");
Error *err = NULL;
@@ -48,8 +50,9 @@ void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
+void hmp_ringbuf_read(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
uint32_t size = qdict_get_int(qdict, "size");
const char *chardev = qdict_get_str(qdict, "device");
char *data;
@@ -77,8 +80,9 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
g_free(data);
}
-void hmp_chardev_add(Monitor *mon, const QDict *qdict)
+void hmp_chardev_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *args = qdict_get_str(qdict, "args");
Error *err = NULL;
QemuOpts *opts;
@@ -93,8 +97,9 @@ void hmp_chardev_add(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_chardev_change(Monitor *mon, const QDict *qdict)
+void hmp_chardev_change(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *args = qdict_get_str(qdict, "args");
const char *id;
Error *err = NULL;
@@ -127,16 +132,18 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_chardev_remove(Monitor *mon, const QDict *qdict)
+void hmp_chardev_remove(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *local_err = NULL;
qmp_chardev_remove(qdict_get_str(qdict, "id"), &local_err);
hmp_handle_error(mon, local_err);
}
-void hmp_chardev_send_break(Monitor *mon, const QDict *qdict)
+void hmp_chardev_send_break(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *local_err = NULL;
qmp_chardev_send_break(qdict_get_str(qdict, "id"), &local_err);
@@ -12,8 +12,9 @@
#include "qapi/qapi-commands-dump.h"
#include "qobject/qdict.h"
-void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
+void hmp_dump_guest_memory(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
bool win_dmp = qdict_get_try_bool(qdict, "windmp", false);
bool paging = qdict_get_try_bool(qdict, "paging", false);
@@ -83,8 +84,9 @@ void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
g_free(prot);
}
-void hmp_info_dump(Monitor *mon, const QDict *qdict)
+void hmp_info_dump(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
DumpQueryResult *result = qmp_query_dump(NULL);
assert(result && result->status < DUMP_STATUS__MAX);
@@ -25,8 +25,9 @@
#include "system/numa.h"
#include "hw/core/boards.h"
-void hmp_info_cpus(Monitor *mon, const QDict *qdict)
+void hmp_info_cpus(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CpuInfoFastList *cpu_list, *cpu;
cpu_list = qmp_query_cpus_fast(NULL);
@@ -48,8 +49,9 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict)
qapi_free_CpuInfoFastList(cpu_list);
}
-void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
+void hmp_hotpluggable_cpus(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
HotpluggableCPUList *l = qmp_query_hotpluggable_cpus(&err);
HotpluggableCPUList *saved = l;
@@ -106,8 +108,9 @@ void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
qapi_free_HotpluggableCPUList(saved);
}
-void hmp_info_memdev(Monitor *mon, const QDict *qdict)
+void hmp_info_memdev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
MemdevList *memdev_list = qmp_query_memdev(&err);
MemdevList *m = memdev_list;
@@ -147,8 +150,9 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_info_kvm(Monitor *mon, const QDict *qdict)
+void hmp_info_kvm(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
KvmInfo *info;
info = qmp_query_kvm(NULL);
@@ -162,8 +166,9 @@ void hmp_info_kvm(Monitor *mon, const QDict *qdict)
qapi_free_KvmInfo(info);
}
-void hmp_info_accelerators(Monitor *mon, const QDict *qdict)
+void hmp_info_accelerators(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
AcceleratorInfo *info;
AcceleratorList *accel;
@@ -180,8 +185,9 @@ void hmp_info_accelerators(Monitor *mon, const QDict *qdict)
qapi_free_AcceleratorInfo(info);
}
-void hmp_info_uuid(Monitor *mon, const QDict *qdict)
+void hmp_info_uuid(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
UuidInfo *info;
info = qmp_query_uuid(NULL);
@@ -189,8 +195,9 @@ void hmp_info_uuid(Monitor *mon, const QDict *qdict)
qapi_free_UuidInfo(info);
}
-void hmp_info_balloon(Monitor *mon, const QDict *qdict)
+void hmp_info_balloon(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
BalloonInfo *info;
Error *err = NULL;
@@ -204,18 +211,19 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict)
qapi_free_BalloonInfo(info);
}
-void hmp_system_reset(Monitor *mon, const QDict *qdict)
+void hmp_system_reset(MonitorHMP *hmp, const QDict *qdict)
{
qmp_system_reset(NULL);
}
-void hmp_system_powerdown(Monitor *mon, const QDict *qdict)
+void hmp_system_powerdown(MonitorHMP *hmp, const QDict *qdict)
{
qmp_system_powerdown(NULL);
}
-void hmp_memsave(Monitor *mon, const QDict *qdict)
+void hmp_memsave(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
uint32_t size = qdict_get_int(qdict, "size");
const char *filename = qdict_get_str(qdict, "filename");
uint64_t addr = qdict_get_int(qdict, "val");
@@ -231,8 +239,9 @@ void hmp_memsave(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_pmemsave(Monitor *mon, const QDict *qdict)
+void hmp_pmemsave(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
uint32_t size = qdict_get_int(qdict, "size");
const char *filename = qdict_get_str(qdict, "filename");
uint64_t addr = qdict_get_int(qdict, "val");
@@ -242,24 +251,27 @@ void hmp_pmemsave(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_system_wakeup(Monitor *mon, const QDict *qdict)
+void hmp_system_wakeup(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_system_wakeup(&err);
hmp_handle_error(mon, err);
}
-void hmp_nmi(Monitor *mon, const QDict *qdict)
+void hmp_nmi(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_inject_nmi(&err);
hmp_handle_error(mon, err);
}
-void hmp_balloon(Monitor *mon, const QDict *qdict)
+void hmp_balloon(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int64_t value = qdict_get_int(qdict, "value");
Error *err = NULL;
@@ -267,8 +279,9 @@ void hmp_balloon(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
+void hmp_info_memory_devices(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
MemoryDeviceInfoList *info_list = qmp_query_memory_devices(&err);
MemoryDeviceInfoList *info;
@@ -370,8 +383,9 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
+void hmp_info_vm_generation_id(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
GuidInfo *info = qmp_query_vm_generation_id(&err);
if (info) {
@@ -381,8 +395,9 @@ void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
qapi_free_GuidInfo(info);
}
-void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict)
+void hmp_info_memory_size_summary(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
MemoryInfo *info = qmp_query_memory_size_summary(&err);
if (info) {
@@ -40,12 +40,14 @@ void xen_primary_console_set_be_port(uint16_t port)
{
}
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "XEN emulation is not available in this QEMU\n");
}
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict)
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "XEN emulation is not available in this QEMU\n");
}
@@ -2344,8 +2344,9 @@ void qmp_xen_event_inject(uint32_t port, Error **errp)
}
}
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
EvtchnInfoList *iter, *info_list;
Error *err = NULL;
@@ -2379,8 +2380,9 @@ void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
qapi_free_EvtchnInfoList(info_list);
}
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict)
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int port = qdict_get_int(qdict, "port");
Error *err = NULL;
@@ -10,7 +10,8 @@
#include "monitor/hmp.h"
#include "monitor/monitor.h"
-void hmp_info_sgx(Monitor *mon, const QDict *qdict)
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "SGX is not available in this QEMU\n");
}
@@ -234,8 +234,9 @@ SgxInfo *qmp_query_sgx(Error **errp)
return info;
}
-void hmp_info_sgx(Monitor *mon, const QDict *qdict)
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
SgxEpcSectionList *section_list, *section;
g_autoptr(SgxInfo) info = qmp_query_sgx(&err);
@@ -10,7 +10,8 @@
#include "monitor/monitor.h"
#include "monitor/hmp.h"
-void hmp_info_via(Monitor *mon, const QDict *qdict)
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "MOS6522 VIA is not available in this QEMU\n");
}
@@ -586,8 +586,9 @@ static HumanReadableText *qmp_x_query_via(Error **errp)
return human_readable_text_from_str(buf);
}
-void hmp_info_via(Monitor *mon, const QDict *qdict)
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
g_autoptr(HumanReadableText) info = qmp_x_query_via(&err);
@@ -20,8 +20,9 @@
#include "qapi/qapi-commands-rocker.h"
#include "qobject/qdict.h"
-void hmp_rocker(Monitor *mon, const QDict *qdict)
+void hmp_rocker(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *name = qdict_get_str(qdict, "name");
RockerSwitch *rocker;
Error *err = NULL;
@@ -38,8 +39,9 @@ void hmp_rocker(Monitor *mon, const QDict *qdict)
qapi_free_RockerSwitch(rocker);
}
-void hmp_rocker_ports(Monitor *mon, const QDict *qdict)
+void hmp_rocker_ports(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
RockerPortList *list, *port;
const char *name = qdict_get_str(qdict, "name");
Error *err = NULL;
@@ -65,8 +67,9 @@ void hmp_rocker_ports(Monitor *mon, const QDict *qdict)
qapi_free_RockerPortList(list);
}
-void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict)
+void hmp_rocker_of_dpa_flows(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
RockerOfDpaFlowList *list, *info;
const char *name = qdict_get_str(qdict, "name");
uint32_t tbl_id = qdict_get_try_int(qdict, "tbl_id", -1);
@@ -214,8 +217,9 @@ void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict)
qapi_free_RockerOfDpaFlowList(list);
}
-void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict)
+void hmp_rocker_of_dpa_groups(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
RockerOfDpaGroupList *list, *g;
const char *name = qdict_get_str(qdict, "name");
uint8_t type = qdict_get_try_int(qdict, "type", 9);
@@ -117,8 +117,9 @@ static void hmp_info_pci_device(Monitor *mon, const PciDeviceInfo *dev)
}
}
-void hmp_info_pci(Monitor *mon, const QDict *qdict)
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
PciInfoList *info_list, *info;
info_list = qmp_query_pci(&error_abort);
@@ -170,8 +171,9 @@ void pcibus_dev_print(Monitor *mon, DeviceState *dev, int indent)
}
}
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *id = qdict_get_str(qdict, "id");
const char *error_name;
@@ -34,12 +34,13 @@ PciInfoList *qmp_query_pci(Error **errp)
return NULL;
}
-void hmp_info_pci(Monitor *mon, const QDict *qdict)
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict)
{
}
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "PCI devices not supported\n");
}
@@ -104,8 +104,9 @@ static void write_keys(FILE *f, uint8_t *keys, uint64_t startgfn,
}
}
-void hmp_info_skeys(Monitor *mon, const QDict *qdict)
+void hmp_info_skeys(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
S390SKeysState *ss = s390_get_skeys_device();
S390SKeysClass *skeyclass = S390_SKEYS_GET_CLASS(ss);
uint64_t addr = qdict_get_int(qdict, "addr");
@@ -134,7 +135,7 @@ void hmp_info_skeys(Monitor *mon, const QDict *qdict)
monitor_printf(mon, " key: 0x%X\n", key);
}
-void hmp_dump_skeys(Monitor *mon, const QDict *qdict)
+void hmp_dump_skeys(MonitorHMP *hmp, const QDict *qdict)
{
const char *filename = qdict_get_str(qdict, "filename");
Error *err = NULL;
@@ -59,8 +59,9 @@ void s390_stattrib_init(void)
/* Console commands: */
-void hmp_migrationmode(Monitor *mon, const QDict *qdict)
+void hmp_migrationmode(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
S390StAttribState *sas = s390_get_stattrib_device();
S390StAttribClass *sac = S390_STATTRIB_GET_CLASS(sas);
uint64_t what = qdict_get_int(qdict, "mode");
@@ -74,8 +75,9 @@ void hmp_migrationmode(Monitor *mon, const QDict *qdict)
}
}
-void hmp_info_cmma(Monitor *mon, const QDict *qdict)
+void hmp_info_cmma(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
S390StAttribState *sas = s390_get_stattrib_device();
S390StAttribClass *sac = S390_STATTRIB_GET_CLASS(sas);
uint64_t addr = qdict_get_int(qdict, "addr");
@@ -256,8 +256,9 @@ FirmwareLog *qmp_query_firmware_log(bool have_max_size, uint64_t max_size,
return ret;
}
-void hmp_info_firmware_log(Monitor *mon, const QDict *qdict)
+void hmp_info_firmware_log(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
g_autofree gchar *log_esc = NULL;
g_autofree guchar *log_out = NULL;
Error *err = NULL;
@@ -1920,8 +1920,9 @@ static void usb_host_auto_check(void *unused)
timer_mod(usb_auto_timer, qemu_clock_get_ms(QEMU_CLOCK_REALTIME) + 2000);
}
-void hmp_info_usbhost(Monitor *mon, const QDict *qdict)
+void hmp_info_usbhost(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
libusb_device **devs = NULL;
struct libusb_device_descriptor ddesc;
char port[16];
@@ -80,8 +80,9 @@ static void hmp_virtio_dump_features(Monitor *mon,
}
}
-void hmp_virtio_query(Monitor *mon, const QDict *qdict)
+void hmp_virtio_query(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
VirtioInfoList *list = qmp_x_query_virtio(&err);
VirtioInfoList *node;
@@ -105,8 +106,9 @@ void hmp_virtio_query(Monitor *mon, const QDict *qdict)
qapi_free_VirtioInfoList(list);
}
-void hmp_virtio_status(Monitor *mon, const QDict *qdict)
+void hmp_virtio_status(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *path = qdict_get_try_str(qdict, "path");
VirtioStatus *s = qmp_x_query_virtio_status(path, &err);
@@ -183,8 +185,9 @@ void hmp_virtio_status(Monitor *mon, const QDict *qdict)
qapi_free_VirtioStatus(s);
}
-void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict)
+void hmp_vhost_queue_status(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *path = qdict_get_try_str(qdict, "path");
int queue = qdict_get_int(qdict, "queue");
@@ -216,8 +219,9 @@ void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict)
qapi_free_VirtVhostQueueStatus(s);
}
-void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict)
+void hmp_virtio_queue_status(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *path = qdict_get_try_str(qdict, "path");
int queue = qdict_get_int(qdict, "queue");
@@ -261,8 +265,9 @@ void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict)
qapi_free_VirtQueueStatus(s);
}
-void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict)
+void hmp_virtio_queue_element(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *path = qdict_get_try_str(qdict, "path");
int queue = qdict_get_int(qdict, "queue");
@@ -16,41 +16,42 @@
#define BLOCK_BLOCK_HMP_CMDS_H
#include "qemu/coroutine.h"
+#include "monitor/hmp.h"
-void hmp_drive_add(Monitor *mon, const QDict *qdict);
+void hmp_drive_add(MonitorHMP *hmp, const QDict *qdict);
-void hmp_commit(Monitor *mon, const QDict *qdict);
-void hmp_drive_del(Monitor *mon, const QDict *qdict);
+void hmp_commit(MonitorHMP *hmp, const QDict *qdict);
+void hmp_drive_del(MonitorHMP *hmp, const QDict *qdict);
-void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
-void hmp_drive_backup(Monitor *mon, const QDict *qdict);
+void hmp_drive_mirror(MonitorHMP *hmp, const QDict *qdict);
+void hmp_drive_backup(MonitorHMP *hmp, const QDict *qdict);
-void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict);
-void hmp_block_job_cancel(Monitor *mon, const QDict *qdict);
-void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
-void hmp_block_job_resume(Monitor *mon, const QDict *qdict);
-void hmp_block_job_complete(Monitor *mon, const QDict *qdict);
+void hmp_block_job_set_speed(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_job_cancel(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_job_pause(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_job_resume(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_job_complete(MonitorHMP *hmp, const QDict *qdict);
-void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
-void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
-void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict);
+void hmp_snapshot_blkdev(MonitorHMP *hmp, const QDict *qdict);
+void hmp_snapshot_blkdev_internal(MonitorHMP *hmp, const QDict *qdict);
+void hmp_snapshot_delete_blkdev_internal(MonitorHMP *hmp, const QDict *qdict);
-void hmp_nbd_server_start(Monitor *mon, const QDict *qdict);
-void hmp_nbd_server_add(Monitor *mon, const QDict *qdict);
-void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict);
-void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
+void hmp_nbd_server_start(MonitorHMP *hmp, const QDict *qdict);
+void hmp_nbd_server_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_nbd_server_remove(MonitorHMP *hmp, const QDict *qdict);
+void hmp_nbd_server_stop(MonitorHMP *hmp, const QDict *qdict);
-void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict);
-void hmp_block_stream(Monitor *mon, const QDict *qdict);
-void hmp_block_passwd(Monitor *mon, const QDict *qdict);
-void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict);
-void hmp_eject(Monitor *mon, const QDict *qdict);
+void coroutine_fn hmp_block_resize(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_stream(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_passwd(MonitorHMP *hmp, const QDict *qdict);
+void hmp_block_set_io_throttle(MonitorHMP *hmp, const QDict *qdict);
+void hmp_eject(MonitorHMP *hmp, const QDict *qdict);
-void hmp_qemu_io(Monitor *mon, const QDict *qdict);
+void hmp_qemu_io(MonitorHMP *hmp, const QDict *qdict);
-void hmp_info_block(Monitor *mon, const QDict *qdict);
-void hmp_info_blockstats(Monitor *mon, const QDict *qdict);
-void hmp_info_block_jobs(Monitor *mon, const QDict *qdict);
-void hmp_info_snapshots(Monitor *mon, const QDict *qdict);
+void hmp_info_block(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_blockstats(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_block_jobs(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_snapshots(MonitorHMP *hmp, const QDict *qdict);
#endif
@@ -31,6 +31,7 @@
#include "qemu/queue.h"
#include "qom/object.h"
#include "qapi/error.h"
+#include "monitor/hmp.h"
/* Constants related to the USB / PCI interaction */
#define USB_SBRN 0x60 /* Serial Bus Release Number Register */
@@ -466,7 +467,7 @@ void usb_wakeup(USBEndpoint *ep, unsigned int stream);
void usb_generic_async_ctrl_complete(USBDevice *s, USBPacket *p);
/* usb-linux.c */
-void hmp_info_usbhost(Monitor *mon, const QDict *qdict);
+void hmp_info_usbhost(MonitorHMP *hmp, const QDict *qdict);
/* usb ports of the VM */
@@ -22,7 +22,7 @@
OBJECT_DECLARE_TYPE(MonitorHMP, MonitorHMPClass, MONITOR_HMP);
#define HMP_STUB(cmd) \
- void hmp_##cmd(Monitor *mon, const QDict *qdict) \
+ void hmp_##cmd(MonitorHMP *hmp, const QDict *qdict) \
{ \
g_assert_not_reached(); \
}
@@ -46,7 +46,7 @@ int monitor_hmp_read_password(MonitorHMP *hmp, ReadLineFunc *readline_func,
void *opaque);
void monitor_register_hmp(const char *name, bool info,
- void (*cmd)(Monitor *mon, const QDict *qdict));
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict));
void monitor_register_hmp_info_hrt(const char *name,
HumanReadableText *(*handler)(Error **errp));
@@ -58,58 +58,58 @@ bool hmp_handle_error(Monitor *mon, Error *err);
void hmp_help_cmd(Monitor *mon, const char *name);
strList *hmp_split_at_comma(const char *str);
-void hmp_info_name(Monitor *mon, const QDict *qdict);
-void hmp_info_version(Monitor *mon, const QDict *qdict);
-void hmp_info_kvm(Monitor *mon, const QDict *qdict);
-void hmp_info_accelerators(Monitor *mon, const QDict *qdict);
-void hmp_info_status(Monitor *mon, const QDict *qdict);
-void hmp_info_uuid(Monitor *mon, const QDict *qdict);
-void hmp_info_chardev(Monitor *mon, const QDict *qdict);
-void hmp_info_mice(Monitor *mon, const QDict *qdict);
-void hmp_info_migrate(Monitor *mon, const QDict *qdict);
-void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
-void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict);
-void hmp_info_cpus(Monitor *mon, const QDict *qdict);
-void hmp_info_vnc(Monitor *mon, const QDict *qdict);
-void hmp_info_spice(Monitor *mon, const QDict *qdict);
-void hmp_info_balloon(Monitor *mon, const QDict *qdict);
-void hmp_info_pci(Monitor *mon, const QDict *qdict);
-void hmp_info_tpm(Monitor *mon, const QDict *qdict);
-void hmp_info_iothreads(Monitor *mon, const QDict *qdict);
-void hmp_quit(Monitor *mon, const QDict *qdict);
-void hmp_stop(Monitor *mon, const QDict *qdict);
-void hmp_sync_profile(Monitor *mon, const QDict *qdict);
-void hmp_system_reset(Monitor *mon, const QDict *qdict);
-void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
-void hmp_exit_preconfig(Monitor *mon, const QDict *qdict);
-void hmp_announce_self(Monitor *mon, const QDict *qdict);
-void hmp_cpu(Monitor *mon, const QDict *qdict);
-void hmp_memsave(Monitor *mon, const QDict *qdict);
-void hmp_pmemsave(Monitor *mon, const QDict *qdict);
-void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
-void hmp_ringbuf_read(Monitor *mon, const QDict *qdict);
-void hmp_cont(Monitor *mon, const QDict *qdict);
-void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
-void hmp_nmi(Monitor *mon, const QDict *qdict);
-void hmp_info_network(Monitor *mon, const QDict *qdict);
-void hmp_set_link(Monitor *mon, const QDict *qdict);
-void hmp_balloon(Monitor *mon, const QDict *qdict);
-void hmp_loadvm(Monitor *mon, const QDict *qdict);
-void hmp_savevm(Monitor *mon, const QDict *qdict);
-void hmp_delvm(Monitor *mon, const QDict *qdict);
-void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
-void hmp_migrate_continue(Monitor *mon, const QDict *qdict);
-void hmp_migrate_incoming(Monitor *mon, const QDict *qdict);
-void hmp_migrate_recover(Monitor *mon, const QDict *qdict);
-void hmp_migrate_pause(Monitor *mon, const QDict *qdict);
-void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict);
-void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict);
-void hmp_client_migrate_info(Monitor *mon, const QDict *qdict);
-void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict);
-void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict);
-void hmp_set_password(Monitor *mon, const QDict *qdict);
-void hmp_expire_password(Monitor *mon, const QDict *qdict);
-void hmp_change(Monitor *mon, const QDict *qdict);
+void hmp_info_name(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_version(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_kvm(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_accelerators(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_status(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_uuid(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_chardev(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_mice(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_migrate(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_migrate_capabilities(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_migrate_parameters(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_cpus(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_vnc(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_spice(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_balloon(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_tpm(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_iothreads(MonitorHMP *hmp, const QDict *qdict);
+void hmp_quit(MonitorHMP *hmp, const QDict *qdict);
+void hmp_stop(MonitorHMP *hmp, const QDict *qdict);
+void hmp_sync_profile(MonitorHMP *hmp, const QDict *qdict);
+void hmp_system_reset(MonitorHMP *hmp, const QDict *qdict);
+void hmp_system_powerdown(MonitorHMP *hmp, const QDict *qdict);
+void hmp_exit_preconfig(MonitorHMP *hmp, const QDict *qdict);
+void hmp_announce_self(MonitorHMP *hmp, const QDict *qdict);
+void hmp_cpu(MonitorHMP *hmp, const QDict *qdict);
+void hmp_memsave(MonitorHMP *hmp, const QDict *qdict);
+void hmp_pmemsave(MonitorHMP *hmp, const QDict *qdict);
+void hmp_ringbuf_write(MonitorHMP *hmp, const QDict *qdict);
+void hmp_ringbuf_read(MonitorHMP *hmp, const QDict *qdict);
+void hmp_cont(MonitorHMP *hmp, const QDict *qdict);
+void hmp_system_wakeup(MonitorHMP *hmp, const QDict *qdict);
+void hmp_nmi(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_network(MonitorHMP *hmp, const QDict *qdict);
+void hmp_set_link(MonitorHMP *hmp, const QDict *qdict);
+void hmp_balloon(MonitorHMP *hmp, const QDict *qdict);
+void hmp_loadvm(MonitorHMP *hmp, const QDict *qdict);
+void hmp_savevm(MonitorHMP *hmp, const QDict *qdict);
+void hmp_delvm(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_cancel(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_continue(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_incoming(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_recover(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_pause(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_set_capability(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_set_parameter(MonitorHMP *hmp, const QDict *qdict);
+void hmp_client_migrate_info(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrate_start_postcopy(MonitorHMP *hmp, const QDict *qdict);
+void hmp_x_colo_lost_heartbeat(MonitorHMP *hmp, const QDict *qdict);
+void hmp_set_password(MonitorHMP *hmp, const QDict *qdict);
+void hmp_expire_password(MonitorHMP *hmp, const QDict *qdict);
+void hmp_change(MonitorHMP *hmp, const QDict *qdict);
#ifdef CONFIG_VNC
void hmp_change_vnc(Monitor *mon, const char *device, const char *target,
const char *arg, const char *read_only, bool force,
@@ -118,101 +118,101 @@ void hmp_change_vnc(Monitor *mon, const char *device, const char *target,
void hmp_change_medium(Monitor *mon, const char *device, const char *target,
const char *arg, const char *read_only, bool force,
Error **errp);
-void hmp_migrate(Monitor *mon, const QDict *qdict);
-void hmp_device_add(Monitor *mon, const QDict *qdict);
-void hmp_device_del(Monitor *mon, const QDict *qdict);
-void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
-void hmp_netdev_add(Monitor *mon, const QDict *qdict);
-void hmp_netdev_del(Monitor *mon, const QDict *qdict);
-void hmp_getfd(Monitor *mon, const QDict *qdict);
-void hmp_closefd(Monitor *mon, const QDict *qdict);
-void hmp_mouse_move(Monitor *mon, const QDict *qdict);
-void hmp_mouse_button(Monitor *mon, const QDict *qdict);
-void hmp_mouse_set(Monitor *mon, const QDict *qdict);
-void hmp_sendkey(Monitor *mon, const QDict *qdict);
-void coroutine_fn hmp_screendump(Monitor *mon, const QDict *qdict);
-void hmp_chardev_add(Monitor *mon, const QDict *qdict);
-void hmp_chardev_change(Monitor *mon, const QDict *qdict);
-void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
-void hmp_chardev_send_break(Monitor *mon, const QDict *qdict);
-void hmp_object_add(Monitor *mon, const QDict *qdict);
-void hmp_object_del(Monitor *mon, const QDict *qdict);
-void hmp_info_memdev(Monitor *mon, const QDict *qdict);
-void hmp_info_memory_devices(Monitor *mon, const QDict *qdict);
-void hmp_qom_list(Monitor *mon, const QDict *qdict);
-void hmp_qom_get(Monitor *mon, const QDict *qdict);
-void hmp_qom_set(Monitor *mon, const QDict *qdict);
-void hmp_info_qom_tree(Monitor *mon, const QDict *dict);
-void hmp_virtio_query(Monitor *mon, const QDict *qdict);
-void hmp_virtio_status(Monitor *mon, const QDict *qdict);
-void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict);
-void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict);
-void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict);
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict);
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict);
-void hmp_rocker(Monitor *mon, const QDict *qdict);
-void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
-void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
-void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
-void hmp_info_dump(Monitor *mon, const QDict *qdict);
-void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);
-void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict);
-void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict);
-void hmp_info_replay(Monitor *mon, const QDict *qdict);
-void hmp_replay_break(Monitor *mon, const QDict *qdict);
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict);
-void hmp_replay_seek(Monitor *mon, const QDict *qdict);
-void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict);
-void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict);
-void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
-void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
-void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
+void hmp_migrate(MonitorHMP *hmp, const QDict *qdict);
+void hmp_device_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_device_del(MonitorHMP *hmp, const QDict *qdict);
+void hmp_dump_guest_memory(MonitorHMP *hmp, const QDict *qdict);
+void hmp_netdev_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_netdev_del(MonitorHMP *hmp, const QDict *qdict);
+void hmp_getfd(MonitorHMP *hmp, const QDict *qdict);
+void hmp_closefd(MonitorHMP *hmp, const QDict *qdict);
+void hmp_mouse_move(MonitorHMP *hmp, const QDict *qdict);
+void hmp_mouse_button(MonitorHMP *hmp, const QDict *qdict);
+void hmp_mouse_set(MonitorHMP *hmp, const QDict *qdict);
+void hmp_sendkey(MonitorHMP *hmp, const QDict *qdict);
+void coroutine_fn hmp_screendump(MonitorHMP *hmp, const QDict *qdict);
+void hmp_chardev_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_chardev_change(MonitorHMP *hmp, const QDict *qdict);
+void hmp_chardev_remove(MonitorHMP *hmp, const QDict *qdict);
+void hmp_chardev_send_break(MonitorHMP *hmp, const QDict *qdict);
+void hmp_object_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_object_del(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_memdev(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_memory_devices(MonitorHMP *hmp, const QDict *qdict);
+void hmp_qom_list(MonitorHMP *hmp, const QDict *qdict);
+void hmp_qom_get(MonitorHMP *hmp, const QDict *qdict);
+void hmp_qom_set(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_qom_tree(MonitorHMP *hmp, const QDict *dict);
+void hmp_virtio_query(MonitorHMP *hmp, const QDict *qdict);
+void hmp_virtio_status(MonitorHMP *hmp, const QDict *qdict);
+void hmp_virtio_queue_status(MonitorHMP *hmp, const QDict *qdict);
+void hmp_vhost_queue_status(MonitorHMP *hmp, const QDict *qdict);
+void hmp_virtio_queue_element(MonitorHMP *hmp, const QDict *qdict);
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict);
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict);
+void hmp_rocker(MonitorHMP *hmp, const QDict *qdict);
+void hmp_rocker_ports(MonitorHMP *hmp, const QDict *qdict);
+void hmp_rocker_of_dpa_flows(MonitorHMP *hmp, const QDict *qdict);
+void hmp_rocker_of_dpa_groups(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_dump(MonitorHMP *hmp, const QDict *qdict);
+void hmp_hotpluggable_cpus(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_vm_generation_id(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_memory_size_summary(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict);
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict);
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict);
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_dirty_rate(MonitorHMP *hmp, const QDict *qdict);
+void hmp_calc_dirty_rate(MonitorHMP *hmp, const QDict *qdict);
+void hmp_set_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
+void hmp_cancel_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
void hmp_human_readable_text_helper(Monitor *mon,
HumanReadableText *(*qmp_handler)(Error **));
-void hmp_info_stats(Monitor *mon, const QDict *qdict);
-void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict);
-void hmp_watchdog_action(Monitor *mon, const QDict *qdict);
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict);
-void hmp_info_capture(Monitor *mon, const QDict *qdict);
-void hmp_stopcapture(Monitor *mon, const QDict *qdict);
-void hmp_wavcapture(Monitor *mon, const QDict *qdict);
-void hmp_trace_event(Monitor *mon, const QDict *qdict);
-void hmp_trace_file(Monitor *mon, const QDict *qdict);
-void hmp_info_trace_events(Monitor *mon, const QDict *qdict);
-void hmp_help(Monitor *mon, const QDict *qdict);
-void hmp_clear(Monitor *mon, const QDict *qdict);
-void hmp_info_help(Monitor *mon, const QDict *qdict);
-void hmp_info_sync_profile(Monitor *mon, const QDict *qdict);
-void hmp_info_history(Monitor *mon, const QDict *qdict);
-void hmp_logfile(Monitor *mon, const QDict *qdict);
-void hmp_log(Monitor *mon, const QDict *qdict);
-void hmp_gdbserver(Monitor *mon, const QDict *qdict);
-void hmp_print(Monitor *mon, const QDict *qdict);
-void hmp_sum(Monitor *mon, const QDict *qdict);
-void hmp_ioport_read(Monitor *mon, const QDict *qdict);
-void hmp_ioport_write(Monitor *mon, const QDict *qdict);
-void hmp_boot_set(Monitor *mon, const QDict *qdict);
-void hmp_info_mtree(Monitor *mon, const QDict *qdict);
-void hmp_info_cryptodev(Monitor *mon, const QDict *qdict);
-void hmp_dumpdtb(Monitor *mon, const QDict *qdict);
-void hmp_info_firmware_log(Monitor *mon, const QDict *qdict);
-void hmp_info_mem(Monitor *mon, const QDict *qdict);
-void hmp_info_tlb(Monitor *mon, const QDict *qdict);
-void hmp_mce(Monitor *mon, const QDict *qdict);
-void hmp_info_local_apic(Monitor *mon, const QDict *qdict);
-void hmp_info_sev(Monitor *mon, const QDict *qdict);
-void hmp_info_sgx(Monitor *mon, const QDict *qdict);
-void hmp_info_via(Monitor *mon, const QDict *qdict);
-void hmp_memory_dump(Monitor *mon, const QDict *qdict);
-void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict);
-void hmp_info_registers(Monitor *mon, const QDict *qdict);
-void hmp_gva2gpa(Monitor *mon, const QDict *qdict);
-void hmp_gpa2hva(Monitor *mon, const QDict *qdict);
-void hmp_gpa2hpa(Monitor *mon, const QDict *qdict);
+void hmp_info_stats(MonitorHMP *hmp, const QDict *qdict);
+void hmp_one_insn_per_tb(MonitorHMP *hmp, const QDict *qdict);
+void hmp_watchdog_action(MonitorHMP *hmp, const QDict *qdict);
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_capture(MonitorHMP *hmp, const QDict *qdict);
+void hmp_stopcapture(MonitorHMP *hmp, const QDict *qdict);
+void hmp_wavcapture(MonitorHMP *hmp, const QDict *qdict);
+void hmp_trace_event(MonitorHMP *hmp, const QDict *qdict);
+void hmp_trace_file(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_trace_events(MonitorHMP *hmp, const QDict *qdict);
+void hmp_help(MonitorHMP *hmp, const QDict *qdict);
+void hmp_clear(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_help(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_sync_profile(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_history(MonitorHMP *hmp, const QDict *qdict);
+void hmp_logfile(MonitorHMP *hmp, const QDict *qdict);
+void hmp_log(MonitorHMP *hmp, const QDict *qdict);
+void hmp_gdbserver(MonitorHMP *hmp, const QDict *qdict);
+void hmp_print(MonitorHMP *hmp, const QDict *qdict);
+void hmp_sum(MonitorHMP *hmp, const QDict *qdict);
+void hmp_ioport_read(MonitorHMP *hmp, const QDict *qdict);
+void hmp_ioport_write(MonitorHMP *hmp, const QDict *qdict);
+void hmp_boot_set(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_mtree(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_cryptodev(MonitorHMP *hmp, const QDict *qdict);
+void hmp_dumpdtb(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_firmware_log(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict);
+void hmp_mce(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_local_apic(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict);
+void hmp_memory_dump(MonitorHMP *hmp, const QDict *qdict);
+void hmp_physical_memory_dump(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_registers(MonitorHMP *hmp, const QDict *qdict);
+void hmp_gva2gpa(MonitorHMP *hmp, const QDict *qdict);
+void hmp_gpa2hva(MonitorHMP *hmp, const QDict *qdict);
+void hmp_gpa2hpa(MonitorHMP *hmp, const QDict *qdict);
-void hmp_dump_skeys(Monitor *mon, const QDict *qdict);
-void hmp_info_skeys(Monitor *mon, const QDict *qdict);
-void hmp_info_cmma(Monitor *mon, const QDict *qdict);
-void hmp_migrationmode(Monitor *mon, const QDict *qdict);
+void hmp_dump_skeys(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_skeys(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_cmma(MonitorHMP *hmp, const QDict *qdict);
+void hmp_migrationmode(MonitorHMP *hmp, const QDict *qdict);
#endif
@@ -2,11 +2,12 @@
#define MONITOR_QDEV_H
#include "hw/core/qdev.h"
+#include "monitor/hmp.h"
/*** monitor commands ***/
-void hmp_info_qtree(Monitor *mon, const QDict *qdict);
-void hmp_info_qdm(Monitor *mon, const QDict *qdict);
+void hmp_info_qtree(MonitorHMP *hmp, const QDict *qdict);
+void hmp_info_qdm(MonitorHMP *hmp, const QDict *qdict);
void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp);
int qdev_device_help(QemuOpts *opts);
@@ -5,6 +5,7 @@
#include "qapi/qapi-types-net.h"
#include "net/queue.h"
#include "hw/core/qdev-properties-system.h"
+#include "monitor/hmp.h"
#define MAC_FMT "%02X:%02X:%02X:%02X:%02X:%02X"
#define MAC_ARG(x) ((uint8_t *)(x))[0], ((uint8_t *)(x))[1], \
@@ -318,8 +319,8 @@ void net_init_clients(void);
void net_check_clients(void);
void net_client_set_link(NetClientState **ncs, int queues, bool up);
void net_cleanup(void);
-void hmp_host_net_add(Monitor *mon, const QDict *qdict);
-void hmp_host_net_remove(Monitor *mon, const QDict *qdict);
+void hmp_host_net_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_host_net_remove(MonitorHMP *hmp, const QDict *qdict);
void netdev_add(QemuOpts *opts, Error **errp);
int net_hub_id_for_client(NetClientState *nc, int *id);
@@ -24,13 +24,13 @@
#ifndef QEMU_NET_SLIRP_H
#define QEMU_NET_SLIRP_H
-
#ifdef CONFIG_SLIRP
+#include "monitor/hmp.h"
-void hmp_hostfwd_add(Monitor *mon, const QDict *qdict);
-void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict);
+void hmp_hostfwd_add(MonitorHMP *hmp, const QDict *qdict);
+void hmp_hostfwd_remove(MonitorHMP *hmp, const QDict *qdict);
-void hmp_info_usernet(Monitor *mon, const QDict *qdict);
+void hmp_info_usernet(MonitorHMP *hmp, const QDict *qdict);
#endif
@@ -856,8 +856,9 @@ struct DirtyRateInfo *qmp_query_dirty_rate(bool has_calc_time_unit,
has_calc_time_unit ? calc_time_unit : TIME_UNIT_SECOND);
}
-void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict)
+void hmp_info_dirty_rate(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
DirtyRateInfo *info = query_dirty_rate_info(TIME_UNIT_SECOND);
monitor_printf(mon, "Status: %s\n",
@@ -891,8 +892,9 @@ void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict)
g_free(info);
}
-void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict)
+void hmp_calc_dirty_rate(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int64_t sec = qdict_get_try_int(qdict, "second", 0);
int64_t sample_pages = qdict_get_try_int(qdict, "sample_pages_per_GB", -1);
bool has_sample_pages = (sample_pages != -1);
@@ -135,8 +135,9 @@ static void migration_dump_blocktime(Monitor *mon, MigrationInfo *info)
}
}
-void hmp_info_migrate(Monitor *mon, const QDict *qdict)
+void hmp_info_migrate(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool show_all = qdict_get_try_bool(qdict, "all", false);
MigrationInfo *info;
@@ -297,8 +298,9 @@ out:
qapi_free_MigrationInfo(info);
}
-void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict)
+void hmp_info_migrate_capabilities(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
MigrationCapabilityStatusList *caps, *cap;
caps = qmp_query_migrate_capabilities(NULL);
@@ -326,8 +328,9 @@ static void monitor_print_cpr_exec_command(Monitor *mon, strList *args)
monitor_printf(mon, "\n");
}
-void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
+void hmp_info_migrate_parameters(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
MigrationParameters *params;
MigrationState *s = migrate_get_current();
@@ -473,8 +476,9 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
qapi_free_MigrationParameters(params);
}
-void hmp_loadvm(Monitor *mon, const QDict *qdict)
+void hmp_loadvm(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
RunState saved_state = runstate_get();
const char *name = qdict_get_str(qdict, "name");
@@ -489,8 +493,9 @@ void hmp_loadvm(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_savevm(Monitor *mon, const QDict *qdict)
+void hmp_savevm(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
save_snapshot(qdict_get_try_str(qdict, "name"),
@@ -498,8 +503,9 @@ void hmp_savevm(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_delvm(Monitor *mon, const QDict *qdict)
+void hmp_delvm(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *name = qdict_get_str(qdict, "name");
@@ -507,13 +513,14 @@ void hmp_delvm(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_migrate_cancel(Monitor *mon, const QDict *qdict)
+void hmp_migrate_cancel(MonitorHMP *hmp, const QDict *qdict)
{
qmp_migrate_cancel(NULL);
}
-void hmp_migrate_continue(Monitor *mon, const QDict *qdict)
+void hmp_migrate_continue(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *state = qdict_get_str(qdict, "state");
int val = qapi_enum_parse(&MigrationStatus_lookup, state, -1, &err);
@@ -525,8 +532,9 @@ void hmp_migrate_continue(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
+void hmp_migrate_incoming(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *uri = qdict_get_str(qdict, "uri");
MigrationChannelList *caps = NULL;
@@ -544,8 +552,9 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
+void hmp_migrate_recover(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *uri = qdict_get_str(qdict, "uri");
@@ -554,8 +563,9 @@ void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
+void hmp_migrate_pause(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_migrate_pause(&err);
@@ -564,8 +574,9 @@ void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
}
-void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict)
+void hmp_migrate_set_capability(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *cap = qdict_get_str(qdict, "capability");
bool state = qdict_get_bool(qdict, "state");
Error *err = NULL;
@@ -589,8 +600,9 @@ end:
hmp_handle_error(mon, err);
}
-void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
+void hmp_migrate_set_parameter(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *param = qdict_get_str(qdict, "parameter");
const char *valuestr = qdict_get_str(qdict, "value");
Visitor *v = string_input_visitor_new(valuestr);
@@ -790,16 +802,18 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict)
+void hmp_migrate_start_postcopy(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_migrate_start_postcopy(&err);
hmp_handle_error(mon, err);
}
#ifdef CONFIG_REPLICATION
-void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict)
+void hmp_x_colo_lost_heartbeat(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_x_colo_lost_heartbeat(&err);
@@ -833,8 +847,9 @@ static void hmp_migrate_status_cb(void *opaque)
qapi_free_MigrationInfo(info);
}
-void hmp_migrate(Monitor *mon, const QDict *qdict)
+void hmp_migrate(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool detach = qdict_get_try_bool(qdict, "detach", false);
bool resume = qdict_get_try_bool(qdict, "resume", false);
const char *uri = qdict_get_str(qdict, "uri");
@@ -873,7 +888,6 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
if (!detach) {
HMPMigrationStatus *status;
- MonitorHMP *hmp = MONITOR_HMP(mon);
if (!hmp->use_readline) {
monitor_printf(mon, "terminal does not allow synchronous "
@@ -103,8 +103,9 @@ strList *hmp_split_at_comma(const char *str)
return res;
}
-void hmp_info_name(Monitor *mon, const QDict *qdict)
+void hmp_info_name(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
NameInfo *info;
info = qmp_query_name(NULL);
@@ -114,8 +115,9 @@ void hmp_info_name(Monitor *mon, const QDict *qdict)
qapi_free_NameInfo(info);
}
-void hmp_info_version(Monitor *mon, const QDict *qdict)
+void hmp_info_version(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
VersionInfo *info;
info = qmp_query_version(NULL);
@@ -127,22 +129,23 @@ void hmp_info_version(Monitor *mon, const QDict *qdict)
qapi_free_VersionInfo(info);
}
-void hmp_quit(Monitor *mon, const QDict *qdict)
+void hmp_quit(MonitorHMP *hmp, const QDict *qdict)
{
- MonitorHMP *hmp = MONITOR_HMP(mon);
+ Monitor *mon = MONITOR(hmp);
if (hmp->use_readline) {
monitor_suspend(mon);
}
qmp_quit(NULL);
}
-void hmp_stop(Monitor *mon, const QDict *qdict)
+void hmp_stop(MonitorHMP *hmp, const QDict *qdict)
{
qmp_stop(NULL);
}
-void hmp_sync_profile(Monitor *mon, const QDict *qdict)
+void hmp_sync_profile(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *op = qdict_get_try_str(qdict, "op");
if (op == NULL) {
@@ -166,16 +169,18 @@ void hmp_sync_profile(Monitor *mon, const QDict *qdict)
}
}
-void hmp_exit_preconfig(Monitor *mon, const QDict *qdict)
+void hmp_exit_preconfig(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_x_exit_preconfig(&err);
hmp_handle_error(mon, err);
}
-void hmp_cpu(Monitor *mon, const QDict *qdict)
+void hmp_cpu(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int64_t cpu_index;
/* XXX: drop the monitor_set_cpu() usage when all HMP commands that
@@ -186,16 +191,18 @@ void hmp_cpu(Monitor *mon, const QDict *qdict)
}
}
-void hmp_cont(Monitor *mon, const QDict *qdict)
+void hmp_cont(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qmp_cont(&err);
hmp_handle_error(mon, err);
}
-void hmp_change(Monitor *mon, const QDict *qdict)
+void hmp_change(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *device = qdict_get_str(qdict, "device");
const char *target = qdict_get_str(qdict, "target");
const char *arg = qdict_get_try_str(qdict, "arg");
@@ -216,8 +223,9 @@ void hmp_change(Monitor *mon, const QDict *qdict)
}
#ifdef CONFIG_POSIX
-void hmp_getfd(Monitor *mon, const QDict *qdict)
+void hmp_getfd(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *fdname = qdict_get_str(qdict, "fdname");
Error *err = NULL;
@@ -226,8 +234,9 @@ void hmp_getfd(Monitor *mon, const QDict *qdict)
}
#endif
-void hmp_closefd(Monitor *mon, const QDict *qdict)
+void hmp_closefd(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *fdname = qdict_get_str(qdict, "fdname");
Error *err = NULL;
@@ -235,8 +244,9 @@ void hmp_closefd(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
+void hmp_info_iothreads(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
IOThreadInfoList *info_list = qmp_query_iothreads(NULL);
IOThreadInfoList *info;
IOThreadInfo *value;
@@ -256,13 +266,15 @@ void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
qapi_free_IOThreadInfoList(info_list);
}
-void hmp_help(Monitor *mon, const QDict *qdict)
+void hmp_help(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
hmp_help_cmd(mon, qdict_get_try_str(qdict, "name"));
}
-void hmp_clear(Monitor *mon, const QDict *qdict)
+void hmp_clear(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
/*
* Send an ANSI escape sequence:
* "\x1b[H" - move cursor to top-left
@@ -272,12 +284,13 @@ void hmp_clear(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "\x1b[H\x1b[2J\x1b[3J");
}
-void hmp_info_help(Monitor *mon, const QDict *qdict)
+void hmp_info_help(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
hmp_help_cmd(mon, "info");
}
-void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
+void hmp_info_sync_profile(MonitorHMP *hmp, const QDict *qdict)
{
int64_t max = qdict_get_try_int(qdict, "max", 10);
bool mean = qdict_get_try_bool(qdict, "mean", false);
@@ -288,9 +301,9 @@ void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
qsp_report(max, sort_by, coalesce);
}
-void hmp_info_history(Monitor *mon, const QDict *qdict)
+void hmp_info_history(MonitorHMP *hmp, const QDict *qdict)
{
- MonitorHMP *hmp = MONITOR_HMP(mon);
+ Monitor *mon = MONITOR(hmp);
int i;
const char *str;
@@ -308,7 +321,7 @@ void hmp_info_history(Monitor *mon, const QDict *qdict)
}
}
-void hmp_logfile(Monitor *mon, const QDict *qdict)
+void hmp_logfile(MonitorHMP *hmp, const QDict *qdict)
{
Error *err = NULL;
@@ -317,8 +330,9 @@ void hmp_logfile(Monitor *mon, const QDict *qdict)
}
}
-void hmp_log(Monitor *mon, const QDict *qdict)
+void hmp_log(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int mask;
const char *items = qdict_get_str(qdict, "items");
Error *err = NULL;
@@ -338,8 +352,9 @@ void hmp_log(Monitor *mon, const QDict *qdict)
}
}
-void hmp_gdbserver(Monitor *mon, const QDict *qdict)
+void hmp_gdbserver(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *device = qdict_get_try_str(qdict, "device");
@@ -357,8 +372,9 @@ void hmp_gdbserver(Monitor *mon, const QDict *qdict)
}
}
-void hmp_print(Monitor *mon, const QDict *qdict)
+void hmp_print(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int format = qdict_get_int(qdict, "format");
hwaddr val = qdict_get_int(qdict, "val");
@@ -383,8 +399,9 @@ void hmp_print(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "\n");
}
-void hmp_sum(Monitor *mon, const QDict *qdict)
+void hmp_sum(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
uint32_t addr;
uint16_t sum;
uint32_t start = qdict_get_int(qdict, "start");
@@ -401,8 +418,9 @@ void hmp_sum(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "%05d\n", sum);
}
-void hmp_ioport_read(Monitor *mon, const QDict *qdict)
+void hmp_ioport_read(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int size = qdict_get_int(qdict, "size");
int addr = qdict_get_int(qdict, "addr");
int has_index = qdict_haskey(qdict, "index");
@@ -435,7 +453,7 @@ void hmp_ioport_read(Monitor *mon, const QDict *qdict)
suffix, addr, size * 2, val);
}
-void hmp_ioport_write(Monitor *mon, const QDict *qdict)
+void hmp_ioport_write(MonitorHMP *hmp, const QDict *qdict)
{
int size = qdict_get_int(qdict, "size");
int addr = qdict_get_int(qdict, "addr");
@@ -457,8 +475,9 @@ void hmp_ioport_write(Monitor *mon, const QDict *qdict)
}
}
-void hmp_boot_set(Monitor *mon, const QDict *qdict)
+void hmp_boot_set(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *local_err = NULL;
const char *bootdevice = qdict_get_str(qdict, "bootdevice");
@@ -470,7 +489,7 @@ void hmp_boot_set(Monitor *mon, const QDict *qdict)
}
}
-void hmp_info_mtree(Monitor *mon, const QDict *qdict)
+void hmp_info_mtree(MonitorHMP *hmp, const QDict *qdict)
{
bool flatview = qdict_get_try_bool(qdict, "flatview", false);
bool dispatch_tree = qdict_get_try_bool(qdict, "dispatch_tree", false);
@@ -481,8 +500,9 @@ void hmp_info_mtree(Monitor *mon, const QDict *qdict)
}
#if defined(CONFIG_FDT)
-void hmp_dumpdtb(Monitor *mon, const QDict *qdict)
+void hmp_dumpdtb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *filename = qdict_get_str(qdict, "filename");
Error *local_err = NULL;
@@ -558,8 +578,9 @@ int monitor_get_cpu_index(Monitor *mon)
return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX;
}
-void hmp_info_registers(Monitor *mon, const QDict *qdict)
+void hmp_info_registers(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false);
int vcpu = qdict_get_try_int(qdict, "vcpu", -1);
CPUState *cs;
@@ -694,8 +715,9 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize,
}
}
-void hmp_memory_dump(Monitor *mon, const QDict *qdict)
+void hmp_memory_dump(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int count = qdict_get_int(qdict, "count");
int format = qdict_get_int(qdict, "format");
int size = qdict_get_int(qdict, "size");
@@ -704,8 +726,9 @@ void hmp_memory_dump(Monitor *mon, const QDict *qdict)
memory_dump(mon, count, format, size, addr, false);
}
-void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict)
+void hmp_physical_memory_dump(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int count = qdict_get_int(qdict, "count");
int format = qdict_get_int(qdict, "format");
int size = qdict_get_int(qdict, "size");
@@ -714,8 +737,9 @@ void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict)
memory_dump(mon, count, format, size, addr, true);
}
-void hmp_gpa2hva(Monitor *mon, const QDict *qdict)
+void hmp_gpa2hva(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
hwaddr addr = qdict_get_int(qdict, "addr");
Error *local_err = NULL;
MemoryRegion *mr = NULL;
@@ -734,8 +758,9 @@ void hmp_gpa2hva(Monitor *mon, const QDict *qdict)
memory_region_unref(mr);
}
-void hmp_gva2gpa(Monitor *mon, const QDict *qdict)
+void hmp_gva2gpa(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
vaddr addr = qdict_get_int(qdict, "addr");
CPUState *cs = mon_get_cpu(mon);
TranslateForDebugResult tres;
@@ -787,8 +812,9 @@ out:
return ret;
}
-void hmp_gpa2hpa(Monitor *mon, const QDict *qdict)
+void hmp_gpa2hpa(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
hwaddr addr = qdict_get_int(qdict, "addr");
Error *local_err = NULL;
MemoryRegion *mr = NULL;
@@ -1228,12 +1228,12 @@ static void hmp_info_human_readable_text(Monitor *mon,
monitor_puts(mon, info->human_readable_text);
}
-static void handle_hmp_command_exec(Monitor *mon,
+static void handle_hmp_command_exec(MonitorHMP *mon,
const HMPCommand *cmd,
QDict *qdict)
{
if (cmd->cmd_info_hrt) {
- hmp_info_human_readable_text(mon,
+ hmp_info_human_readable_text(MONITOR(mon),
cmd->cmd_info_hrt);
} else {
cmd->cmd(mon, qdict);
@@ -1241,7 +1241,7 @@ static void handle_hmp_command_exec(Monitor *mon,
}
typedef struct HandleHmpCommandCo {
- Monitor *mon;
+ MonitorHMP *mon;
const HMPCommand *cmd;
QDict *qdict;
bool done;
@@ -1289,19 +1289,18 @@ void handle_hmp_command(MonitorHMP *hmp, const char *cmdline)
if (!cmd->coroutine) {
/* old_mon is non-NULL when called from qmp_human_monitor_command() */
- Monitor *old_mon = monitor_set_cur(qemu_coroutine_self(),
- &hmp->parent_obj);
- handle_hmp_command_exec(&hmp->parent_obj, cmd, qdict);
+ Monitor *old_mon = monitor_set_cur(qemu_coroutine_self(), MONITOR(hmp));
+ handle_hmp_command_exec(hmp, cmd, qdict);
monitor_set_cur(qemu_coroutine_self(), old_mon);
} else {
HandleHmpCommandCo data = {
- .mon = &hmp->parent_obj,
+ .mon = hmp,
.cmd = cmd,
.qdict = qdict,
.done = false,
};
Coroutine *co = qemu_coroutine_create(handle_hmp_command_co, &data);
- monitor_set_cur(co, &hmp->parent_obj);
+ monitor_set_cur(co, MONITOR(hmp));
aio_co_enter(qemu_get_aio_context(), co);
AIO_WAIT_WHILE_UNLOCKED(NULL, !data.done);
}
@@ -1689,7 +1688,7 @@ int hmp_compare_cmd(const char *name, const char *list)
}
void monitor_register_hmp(const char *name, bool info,
- void (*cmd)(Monitor *mon, const QDict *qdict))
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict))
{
HMPCommand *table = hmp_cmds_for_target(info);
@@ -77,7 +77,7 @@ typedef struct HMPCommand {
const char *params;
const char *help;
const char *flags; /* p=preconfig */
- void (*cmd)(Monitor *mon, const QDict *qdict);
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict);
/*
* If implementing a command that takes no arguments and simply
* prints formatted data, then leave @cmd NULL, and then set
@@ -45,8 +45,9 @@ static void hmp_print_client_info(Monitor *mon, NetworkClientInfo *ci)
}
}
-void hmp_info_network(Monitor *mon, const QDict *qdict)
+void hmp_info_network(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
g_autoptr(NetworkInfo) info = qmp_x_query_network(&err);
NetHubInfoList *h;
@@ -83,8 +84,9 @@ void hmp_info_network(Monitor *mon, const QDict *qdict)
}
}
-void hmp_set_link(Monitor *mon, const QDict *qdict)
+void hmp_set_link(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *name = qdict_get_str(qdict, "name");
bool up = qdict_get_bool(qdict, "up");
Error *err = NULL;
@@ -94,7 +96,7 @@ void hmp_set_link(Monitor *mon, const QDict *qdict)
}
-void hmp_announce_self(Monitor *mon, const QDict *qdict)
+void hmp_announce_self(MonitorHMP *hmp, const QDict *qdict)
{
const char *interfaces_str = qdict_get_try_str(qdict, "interfaces");
const char *id = qdict_get_try_str(qdict, "id");
@@ -109,8 +111,9 @@ void hmp_announce_self(Monitor *mon, const QDict *qdict)
qapi_free_AnnounceParameters(params);
}
-void hmp_netdev_add(Monitor *mon, const QDict *qdict)
+void hmp_netdev_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
QemuOpts *opts;
const char *type = qdict_get_try_str(qdict, "type");
@@ -133,8 +136,9 @@ out:
hmp_handle_error(mon, err);
}
-void hmp_netdev_del(Monitor *mon, const QDict *qdict)
+void hmp_netdev_del(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *id = qdict_get_str(qdict, "id");
Error *err = NULL;
@@ -733,8 +733,9 @@ static SlirpState *slirp_lookup(Monitor *mon, const char *id)
}
}
-void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict)
+void hmp_hostfwd_remove(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
/* TODO: support removing unix fwd */
struct sockaddr_in host_addr = {
.sin_family = AF_INET,
@@ -957,8 +958,9 @@ static int slirp_hostfwd(SlirpState *s, const char *redir_str, Error **errp)
return -1;
}
-void hmp_hostfwd_add(Monitor *mon, const QDict *qdict)
+void hmp_hostfwd_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *redir_str;
SlirpState *s;
const char *arg1 = qdict_get_str(qdict, "arg1");
@@ -1224,8 +1226,9 @@ UsernetInfoList *qmp_x_query_usernet(Error **errp)
return head;
}
-void hmp_info_usernet(Monitor *mon, const QDict *qdict)
+void hmp_info_usernet(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
g_autoptr(UsernetInfoList) list = NULL;
UsernetInfoList *entry;
@@ -18,8 +18,9 @@
#include "qom/object.h"
#include "qom/object_interfaces.h"
-void hmp_qom_list(Monitor *mon, const QDict *qdict)
+void hmp_qom_list(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *path = qdict_get_try_str(qdict, "path");
ObjectPropertyInfoList *list;
Error *err = NULL;
@@ -44,8 +45,9 @@ void hmp_qom_list(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_qom_set(Monitor *mon, const QDict *qdict)
+void hmp_qom_set(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const bool json = qdict_get_try_bool(qdict, "json", false);
const char *path = qdict_get_str(qdict, "path");
const char *property = qdict_get_str(qdict, "property");
@@ -72,8 +74,9 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_qom_get(Monitor *mon, const QDict *qdict)
+void hmp_qom_get(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *path = qdict_get_str(qdict, "path");
const char *property = qdict_get_str(qdict, "property");
Error *err = NULL;
@@ -132,8 +135,9 @@ static void print_qom_composition(Monitor *mon, Object *obj, int indent)
g_array_free(children, TRUE);
}
-void hmp_info_qom_tree(Monitor *mon, const QDict *dict)
+void hmp_info_qom_tree(MonitorHMP *hmp, const QDict *dict)
{
+ Monitor *mon = MONITOR(hmp);
const char *path = qdict_get_try_str(dict, "path");
Object *obj;
bool ambiguous = false;
@@ -154,8 +158,9 @@ void hmp_info_qom_tree(Monitor *mon, const QDict *dict)
print_qom_composition(mon, obj, 0);
}
-void hmp_object_add(Monitor *mon, const QDict *qdict)
+void hmp_object_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *options = qdict_get_str(qdict, "object");
Error *err = NULL;
@@ -163,8 +168,9 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, err);
}
-void hmp_object_del(Monitor *mon, const QDict *qdict)
+void hmp_object_del(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *id = qdict_get_str(qdict, "id");
Error *err = NULL;
@@ -31,8 +31,9 @@ bool replay_running_debug(void)
return replay_is_debugging;
}
-void hmp_info_replay(Monitor *mon, const QDict *qdict)
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
if (replay_mode == REPLAY_MODE_NONE) {
monitor_printf(mon, "Record/replay is not active\n");
} else {
@@ -103,7 +104,7 @@ void qmp_replay_break(int64_t icount, Error **errp)
}
}
-void hmp_replay_break(Monitor *mon, const QDict *qdict)
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict)
{
int64_t icount = qdict_get_try_int(qdict, "icount", -1LL);
Error *err = NULL;
@@ -124,7 +125,7 @@ void qmp_replay_delete_break(Error **errp)
}
}
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict)
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict)
{
Error *err = NULL;
@@ -209,7 +210,7 @@ void qmp_replay_seek(int64_t icount, Error **errp)
replay_seek(icount, replay_stop_vm, errp);
}
-void hmp_replay_seek(Monitor *mon, const QDict *qdict)
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict)
{
int64_t icount = qdict_get_try_int(qdict, "icount", -1LL);
Error *err = NULL;
@@ -63,19 +63,19 @@ void replay_vmstate_init(void)
#include "qapi/error.h"
#include "qemu/error-report.h"
-void hmp_info_replay(Monitor *mon, const QDict *qdict)
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict)
{
error_report("replay support not available");
}
-void hmp_replay_break(Monitor *mon, const QDict *qdict)
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict)
{
error_report("replay support not available");
}
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict)
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict)
{
error_report("replay support not available");
}
-void hmp_replay_seek(Monitor *mon, const QDict *qdict)
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict)
{
error_report("replay support not available");
}
@@ -187,8 +187,9 @@ static StatsFilter *stats_filter(StatsTarget target, const char *names,
return filter;
}
-void hmp_info_stats(Monitor *mon, const QDict *qdict)
+void hmp_info_stats(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *target_str = qdict_get_str(qdict, "target");
const char *provider_str = qdict_get_try_str(qdict, "provider");
const char *names = qdict_get_try_str(qdict, "names");
@@ -10,7 +10,8 @@
#include "monitor/hmp.h"
#include "monitor/monitor.h"
-void hmp_info_sev(Monitor *mon, const QDict *qdict)
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
monitor_printf(mon, "SEV is not available in this QEMU\n");
}
@@ -15,8 +15,9 @@
#include "monitor/monitor.h"
#include "system/dirtylimit.h"
-void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
+void hmp_cancel_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int64_t cpu_index = qdict_get_try_int(qdict, "cpu_index", -1);
Error *err = NULL;
@@ -30,8 +31,9 @@ void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
"dirty limit for virtual CPU]\n");
}
-void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
+void hmp_set_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
int64_t dirty_rate = qdict_get_int(qdict, "dirty_rate");
int64_t cpu_index = qdict_get_try_int(qdict, "cpu_index", -1);
Error *err = NULL;
@@ -47,8 +49,9 @@ out:
hmp_handle_error(mon, err);
}
-void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
+void hmp_info_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
DirtyLimitInfoList *info;
g_autoptr(DirtyLimitInfoList) head = NULL;
Error *err = NULL;
@@ -851,8 +851,9 @@ static void qbus_print(Monitor *mon, BusState *bus, int indent, bool details)
}
#undef qdev_printf
-void hmp_info_qtree(Monitor *mon, const QDict *qdict)
+void hmp_info_qtree(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
bool details = !qdict_get_try_bool(qdict, "brief", false);
if (sysbus_get_default()) {
@@ -860,7 +861,7 @@ void hmp_info_qtree(Monitor *mon, const QDict *qdict)
}
}
-void hmp_info_qdm(Monitor *mon, const QDict *qdict)
+void hmp_info_qdm(MonitorHMP *hmp, const QDict *qdict)
{
qdev_print_devinfos(true);
}
@@ -1001,8 +1002,9 @@ void qmp_device_sync_config(const char *id, Error **errp)
qdev_sync_config(dev, errp);
}
-void hmp_device_add(Monitor *mon, const QDict *qdict)
+void hmp_device_add(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
QemuOpts *opts;
DeviceState *dev;
@@ -1035,8 +1037,9 @@ out:
hmp_handle_error(mon, err);
}
-void hmp_device_del(Monitor *mon, const QDict *qdict)
+void hmp_device_del(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *id = qdict_get_str(qdict, "id");
Error *err = NULL;
@@ -23,8 +23,9 @@
#include "qobject/qdict.h"
#include "qemu/accel.h"
-void hmp_info_status(Monitor *mon, const QDict *qdict)
+void hmp_info_status(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
StatusInfo *info;
info = qmp_query_status(NULL);
@@ -41,8 +42,9 @@ void hmp_info_status(Monitor *mon, const QDict *qdict)
qapi_free_StatusInfo(info);
}
-void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict)
+void hmp_one_insn_per_tb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *option = qdict_get_try_str(qdict, "option");
AccelState *accel = current_accel();
bool newval;
@@ -66,8 +68,9 @@ void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict)
newval, &error_abort);
}
-void hmp_watchdog_action(Monitor *mon, const QDict *qdict)
+void hmp_watchdog_action(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
WatchdogAction action;
char *qapi_value;
@@ -11,8 +11,9 @@
#include "monitor/hmp.h"
#include "qapi/error.h"
-void hmp_info_tpm(Monitor *mon, const QDict *qdict)
+void hmp_info_tpm(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
#ifdef CONFIG_TPM
TPMInfoList *info_list, *info;
Error *err = NULL;
@@ -83,8 +83,9 @@ void x86_cpu_apic_realize(X86CPU *cpu, Error **errp)
}
}
-void hmp_info_local_apic(Monitor *mon, const QDict *qdict)
+void hmp_info_local_apic(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUState *cs;
if (qdict_haskey(qdict, "apic-id")) {
@@ -209,8 +209,9 @@ static void tlb_info_la57(Monitor *mon, CPUArchState *env, AddressSpace *as)
}
#endif /* TARGET_X86_64 */
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env;
AddressSpace *as;
@@ -535,8 +536,9 @@ static void mem_info_la57(Monitor *mon, CPUArchState *env, AddressSpace *as)
}
#endif /* TARGET_X86_64 */
-void hmp_info_mem(Monitor *mon, const QDict *qdict)
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env;
AddressSpace *as;
@@ -569,8 +571,9 @@ void hmp_info_mem(Monitor *mon, const QDict *qdict)
}
}
-void hmp_mce(Monitor *mon, const QDict *qdict)
+void hmp_mce(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
X86CPU *cpu;
CPUState *cs;
int cpu_index = qdict_get_int(qdict, "cpu_index");
@@ -784,8 +784,9 @@ SevInfo *qmp_query_sev(Error **errp)
return info;
}
-void hmp_info_sev(Monitor *mon, const QDict *qdict)
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
SevInfo *info = sev_get_info();
if (!info || !info->enabled) {
@@ -10,8 +10,9 @@
#include "monitor/hmp.h"
#include "monitor/monitor.h"
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env1 = mon_get_cpu_env(mon);
if (!env1) {
@@ -11,8 +11,9 @@
#include "monitor/hmp.h"
#include "cpu.h"
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env1 = mon_get_cpu_env(mon);
if (!env1) {
@@ -215,8 +215,9 @@ static void mem_info_svxx(Monitor *mon, CPUArchState *env)
last_paddr + last_size - pbase, last_attr);
}
-void hmp_info_mem(Monitor *mon, const QDict *qdict)
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env;
env = mon_get_cpu_env(mon);
@@ -38,8 +38,9 @@ static void print_tlb(Monitor *mon, int idx, tlb_t *tlb)
tlb->d, tlb->wt);
}
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env = mon_get_cpu_env(mon);
int i;
@@ -27,8 +27,9 @@
#include "monitor/hmp.h"
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env1 = mon_get_cpu_env(mon);
if (!env1) {
@@ -26,8 +26,9 @@
#include "monitor/monitor.h"
#include "monitor/hmp.h"
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
CPUArchState *env1 = mon_get_cpu_env(mon);
if (!env1) {
@@ -33,7 +33,7 @@
#include "trace/simple.h"
#endif
-void hmp_trace_event(Monitor *mon, const QDict *qdict)
+void hmp_trace_event(MonitorHMP *hmp, const QDict *qdict)
{
const char *tp_name = qdict_get_str(qdict, "name");
bool new_state = qdict_get_bool(qdict, "option");
@@ -47,8 +47,9 @@ void hmp_trace_event(Monitor *mon, const QDict *qdict)
}
#ifdef CONFIG_TRACE_SIMPLE
-void hmp_trace_file(Monitor *mon, const QDict *qdict)
+void hmp_trace_file(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *op = qdict_get_try_str(qdict, "op");
const char *arg = qdict_get_try_str(qdict, "arg");
@@ -71,8 +72,9 @@ void hmp_trace_file(Monitor *mon, const QDict *qdict)
}
#endif
-void hmp_info_trace_events(Monitor *mon, const QDict *qdict)
+void hmp_info_trace_events(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *name = qdict_get_try_str(qdict, "name");
TraceEventInfoList *events;
TraceEventInfoList *elem;
@@ -29,7 +29,7 @@
static int mouse_button_state;
-void hmp_mouse_move(Monitor *mon, const QDict *qdict)
+void hmp_mouse_move(MonitorHMP *hmp, const QDict *qdict)
{
int dx, dy, dz, button;
const char *dx_str = qdict_get_str(qdict, "dx_str");
@@ -53,7 +53,7 @@ void hmp_mouse_move(Monitor *mon, const QDict *qdict)
qemu_input_event_sync();
}
-void hmp_mouse_button(Monitor *mon, const QDict *qdict)
+void hmp_mouse_button(MonitorHMP *hmp, const QDict *qdict)
{
/* HMP mouse_button bitmask: 1=L, 2=R, 4=M */
static uint32_t bmap[INPUT_BUTTON__MAX] = {
@@ -71,16 +71,18 @@ void hmp_mouse_button(Monitor *mon, const QDict *qdict)
mouse_button_state = button_state;
}
-void hmp_mouse_set(Monitor *mon, const QDict *qdict)
+void hmp_mouse_set(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
qemu_mouse_set(qdict_get_int(qdict, "index"), &err);
hmp_handle_error(mon, err);
}
-void hmp_info_mice(Monitor *mon, const QDict *qdict)
+void hmp_info_mice(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
MouseInfoList *mice_list, *mouse;
mice_list = qmp_query_mice(NULL);
@@ -148,8 +150,9 @@ static void hmp_info_vnc_servers(Monitor *mon, VncServerInfo2List *server)
}
}
-void hmp_info_vnc(Monitor *mon, const QDict *qdict)
+void hmp_info_vnc(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
VncInfo2List *info2l, *info2l_head;
Error *err = NULL;
@@ -189,8 +192,9 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict)
#endif
#ifdef CONFIG_SPICE
-void hmp_info_spice(Monitor *mon, const QDict *qdict)
+void hmp_info_spice(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
SpiceChannelList *chan;
SpiceInfo *info;
const char *channel_name;
@@ -260,8 +264,9 @@ out:
}
#endif
-void hmp_set_password(Monitor *mon, const QDict *qdict)
+void hmp_set_password(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *protocol = qdict_get_str(qdict, "protocol");
const char *password = qdict_get_str(qdict, "password");
const char *display = qdict_get_try_str(qdict, "display");
@@ -295,8 +300,9 @@ out:
hmp_handle_error(mon, err);
}
-void hmp_expire_password(Monitor *mon, const QDict *qdict)
+void hmp_expire_password(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *protocol = qdict_get_str(qdict, "protocol");
const char *whenstr = qdict_get_str(qdict, "time");
const char *display = qdict_get_try_str(qdict, "display");
@@ -366,8 +372,9 @@ static int index_from_key(const char *key, size_t key_length)
return i;
}
-void hmp_sendkey(Monitor *mon, const QDict *qdict)
+void hmp_sendkey(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *keys = qdict_get_str(qdict, "keys");
KeyValue *v = NULL;
KeyValueList *head = NULL, **tail = &head;
@@ -456,8 +463,9 @@ void sendkey_completion(ReadLineState *rs, int nb_args, const char *str)
#ifdef CONFIG_PIXMAN
void coroutine_fn
-hmp_screendump(Monitor *mon, const QDict *qdict)
+hmp_screendump(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
const char *filename = qdict_get_str(qdict, "filename");
const char *id = qdict_get_try_str(qdict, "device");
int64_t head = qdict_get_try_int(qdict, "head", 0);
@@ -478,8 +486,9 @@ end:
}
#endif
-void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
+void hmp_client_migrate_info(MonitorHMP *hmp, const QDict *qdict)
{
+ Monitor *mon = MONITOR(hmp);
Error *err = NULL;
const char *protocol = qdict_get_str(qdict, "protocol");
const char *hostname = qdict_get_str(qdict, "hostname");