monitor: change HMPCommand cmd to take MonitorHMP
HMP commands are specific to the HMP monitor, so make the cmd function pointer in HMPCommand take MonitorHMP * instead of Monitor *. This strengthens type safety and makes the HMP-specific nature of these handlers explicit. Handler functions are renamed to take MonitorHMP *hmp, with a local Monitor *mon = MONITOR(hmp) added where the body needs the base type. Following patches will drop it, since most functions are HMP specific. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com> Reviewed-by: Dr. David Alan Gilbert <dave@treblig.org> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20260828-qemu-no-hmp-v5-31-9227de146347@redhat.com>
Marc-André Lureau committed
Aug 28, 2026 at 16:04 UTC
139ffc1039d9f23cc2d948d45183d0932595c73a
53 files changed
+561
-390
audio/audio-hmp-cmds.c
+5
-3
@@ -32,8 +32,9 @@
32
33
static QLIST_HEAD (capture_list_head, CaptureState) capture_head;
34
35
-void hmp_info_capture(Monitor *mon, const QDict *qdict)
35
+void hmp_info_capture(MonitorHMP *hmp, const QDict *qdict)
36
{
37
+ Monitor *mon = MONITOR(hmp);
38
int i;
39
CaptureState *s;
40
@@ -45,7 +46,7 @@ void hmp_info_capture(Monitor *mon, const QDict *qdict)
46
}
47
}
48
48
-void hmp_stopcapture(Monitor *mon, const QDict *qdict)
49
+void hmp_stopcapture(MonitorHMP *hmp, const QDict *qdict)
50
{
51
int i;
52
int n = qdict_get_int(qdict, "n");
@@ -63,8 +64,9 @@ void hmp_stopcapture(Monitor *mon, const QDict *qdict)
64
}
65
}
66
66
-void hmp_wavcapture(Monitor *mon, const QDict *qdict)
67
+void hmp_wavcapture(MonitorHMP *hmp, const QDict *qdict)
68
{
69
+ Monitor *mon = MONITOR(hmp);
70
const char *path = qdict_get_str(qdict, "path");
71
int freq = qdict_get_try_int(qdict, "freq", 44100);
72
int bits = qdict_get_try_int(qdict, "bits", 16);
backends/cryptodev-hmp-cmds.c
+2
-1
@@ -17,8 +17,9 @@
17
#include "qobject/qdict.h"
18
19
20
-void hmp_info_cryptodev(Monitor *mon, const QDict *qdict)
20
+void hmp_info_cryptodev(MonitorHMP *hmp, const QDict *qdict)
21
{
22
+ Monitor *mon = MONITOR(hmp);
23
QCryptodevInfoList *il;
24
QCryptodevBackendServiceTypeList *sl;
25
QCryptodevBackendClientList *cl;
block/monitor/block-hmp-cmds.c
+52
-26
@@ -87,8 +87,9 @@ out:
87
hmp_handle_error(mon, err);
88
}
89
90
-void hmp_drive_add(Monitor *mon, const QDict *qdict)
90
+void hmp_drive_add(MonitorHMP *hmp, const QDict *qdict)
91
{
92
+ Monitor *mon = MONITOR(hmp);
93
Error *err = NULL;
94
DriveInfo *dinfo;
95
QemuOpts *opts;
@@ -135,8 +136,9 @@ err:
136
hmp_handle_error(mon, err);
137
}
138
138
-void hmp_drive_del(Monitor *mon, const QDict *qdict)
139
+void hmp_drive_del(MonitorHMP *hmp, const QDict *qdict)
140
{
141
+ Monitor *mon = MONITOR(hmp);
142
const char *id = qdict_get_str(qdict, "id");
143
BlockBackend *blk;
144
BlockDriverState *bs;
@@ -194,8 +196,9 @@ unlock:
196
hmp_handle_error(mon, err);
197
}
198
197
-void hmp_commit(Monitor *mon, const QDict *qdict)
199
+void hmp_commit(MonitorHMP *hmp, const QDict *qdict)
200
{
201
+ Monitor *mon = MONITOR(hmp);
202
const char *device = qdict_get_str(qdict, "device");
203
BlockBackend *blk;
204
int ret;
@@ -232,8 +235,9 @@ end:
235
hmp_handle_error(mon, err);
236
}
237
235
-void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
238
+void hmp_drive_mirror(MonitorHMP *hmp, const QDict *qdict)
239
{
240
+ Monitor *mon = MONITOR(hmp);
241
const char *filename = qdict_get_str(qdict, "target");
242
const char *format = qdict_get_try_str(qdict, "format");
243
bool reuse = qdict_get_try_bool(qdict, "reuse", false);
@@ -258,8 +262,9 @@ end:
262
hmp_handle_error(mon, err);
263
}
264
261
-void hmp_drive_backup(Monitor *mon, const QDict *qdict)
265
+void hmp_drive_backup(MonitorHMP *hmp, const QDict *qdict)
266
{
267
+ Monitor *mon = MONITOR(hmp);
268
const char *device = qdict_get_str(qdict, "device");
269
const char *filename = qdict_get_str(qdict, "target");
270
const char *format = qdict_get_try_str(qdict, "format");
@@ -288,8 +293,9 @@ end:
293
hmp_handle_error(mon, err);
294
}
295
291
-void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
296
+void hmp_block_job_set_speed(MonitorHMP *hmp, const QDict *qdict)
297
{
298
+ Monitor *mon = MONITOR(hmp);
299
Error *error = NULL;
300
const char *device = qdict_get_str(qdict, "device");
301
int64_t value = qdict_get_int(qdict, "speed");
@@ -299,8 +305,9 @@ void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
305
hmp_handle_error(mon, error);
306
}
307
302
-void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
308
+void hmp_block_job_cancel(MonitorHMP *hmp, const QDict *qdict)
309
{
310
+ Monitor *mon = MONITOR(hmp);
311
Error *error = NULL;
312
const char *device = qdict_get_str(qdict, "device");
313
bool force = qdict_get_try_bool(qdict, "force", false);
@@ -310,8 +317,9 @@ void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
317
hmp_handle_error(mon, error);
318
}
319
313
-void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
320
+void hmp_block_job_pause(MonitorHMP *hmp, const QDict *qdict)
321
{
322
+ Monitor *mon = MONITOR(hmp);
323
Error *error = NULL;
324
const char *device = qdict_get_str(qdict, "device");
325
@@ -320,8 +328,9 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
328
hmp_handle_error(mon, error);
329
}
330
323
-void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
331
+void hmp_block_job_resume(MonitorHMP *hmp, const QDict *qdict)
332
{
333
+ Monitor *mon = MONITOR(hmp);
334
Error *error = NULL;
335
const char *device = qdict_get_str(qdict, "device");
336
@@ -330,8 +339,9 @@ void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
339
hmp_handle_error(mon, error);
340
}
341
333
-void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
342
+void hmp_block_job_complete(MonitorHMP *hmp, const QDict *qdict)
343
{
344
+ Monitor *mon = MONITOR(hmp);
345
Error *error = NULL;
346
const char *device = qdict_get_str(qdict, "device");
347
@@ -340,8 +350,9 @@ void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
350
hmp_handle_error(mon, error);
351
}
352
343
-void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
353
+void hmp_snapshot_blkdev(MonitorHMP *hmp, const QDict *qdict)
354
{
355
+ Monitor *mon = MONITOR(hmp);
356
const char *device = qdict_get_str(qdict, "device");
357
const char *filename = qdict_get_str(qdict, "snapshot-file");
358
const char *format = qdict_get_try_str(qdict, "format");
@@ -355,8 +366,9 @@ void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
366
hmp_handle_error(mon, err);
367
}
368
358
-void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
369
+void hmp_snapshot_blkdev_internal(MonitorHMP *hmp, const QDict *qdict)
370
{
371
+ Monitor *mon = MONITOR(hmp);
372
const char *device = qdict_get_str(qdict, "device");
373
const char *name = qdict_get_str(qdict, "name");
374
Error *err = NULL;
@@ -365,8 +377,9 @@ void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
377
hmp_handle_error(mon, err);
378
}
379
368
-void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
380
+void hmp_snapshot_delete_blkdev_internal(MonitorHMP *hmp, const QDict *qdict)
381
{
382
+ Monitor *mon = MONITOR(hmp);
383
const char *device = qdict_get_str(qdict, "device");
384
const char *name = qdict_get_str(qdict, "name");
385
const char *id = qdict_get_try_str(qdict, "id");
@@ -376,8 +389,9 @@ void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
389
hmp_handle_error(mon, err);
390
}
391
379
-void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
392
+void hmp_nbd_server_start(MonitorHMP *hmp, const QDict *qdict)
393
{
394
+ Monitor *mon = MONITOR(hmp);
395
const char *uri = qdict_get_str(qdict, "uri");
396
bool writable = qdict_get_try_bool(qdict, "writable", false);
397
bool all = qdict_get_try_bool(qdict, "all", false);
@@ -438,8 +452,9 @@ exit:
452
hmp_handle_error(mon, local_err);
453
}
454
441
-void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
455
+void hmp_nbd_server_add(MonitorHMP *hmp, const QDict *qdict)
456
{
457
+ Monitor *mon = MONITOR(hmp);
458
const char *device = qdict_get_str(qdict, "device");
459
const char *name = qdict_get_try_str(qdict, "name");
460
bool writable = qdict_get_try_bool(qdict, "writable", false);
@@ -456,8 +471,9 @@ void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
471
hmp_handle_error(mon, local_err);
472
}
473
459
-void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
474
+void hmp_nbd_server_remove(MonitorHMP *hmp, const QDict *qdict)
475
{
476
+ Monitor *mon = MONITOR(hmp);
477
const char *name = qdict_get_str(qdict, "name");
478
bool force = qdict_get_try_bool(qdict, "force", false);
479
Error *err = NULL;
@@ -467,16 +483,18 @@ void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
483
hmp_handle_error(mon, err);
484
}
485
470
-void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
486
+void hmp_nbd_server_stop(MonitorHMP *hmp, const QDict *qdict)
487
{
488
+ Monitor *mon = MONITOR(hmp);
489
Error *err = NULL;
490
491
qmp_nbd_server_stop(&err);
492
hmp_handle_error(mon, err);
493
}
494
478
-void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict)
495
+void coroutine_fn hmp_block_resize(MonitorHMP *hmp, const QDict *qdict)
496
{
497
+ Monitor *mon = MONITOR(hmp);
498
const char *device = qdict_get_str(qdict, "device");
499
int64_t size = qdict_get_int(qdict, "size");
500
Error *err = NULL;
@@ -485,8 +503,9 @@ void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict)
503
hmp_handle_error(mon, err);
504
}
505
488
-void hmp_block_stream(Monitor *mon, const QDict *qdict)
506
+void hmp_block_stream(MonitorHMP *hmp, const QDict *qdict)
507
{
508
+ Monitor *mon = MONITOR(hmp);
509
Error *error = NULL;
510
const char *device = qdict_get_str(qdict, "device");
511
const char *base = qdict_get_try_str(qdict, "base");
@@ -500,8 +519,9 @@ void hmp_block_stream(Monitor *mon, const QDict *qdict)
519
hmp_handle_error(mon, error);
520
}
521
503
-void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
522
+void hmp_block_set_io_throttle(MonitorHMP *hmp, const QDict *qdict)
523
{
524
+ Monitor *mon = MONITOR(hmp);
525
Error *err = NULL;
526
char *device = (char *) qdict_get_str(qdict, "device");
527
BlockIOThrottle throttle = {
@@ -528,8 +548,9 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
548
hmp_handle_error(mon, err);
549
}
550
531
-void hmp_eject(Monitor *mon, const QDict *qdict)
551
+void hmp_eject(MonitorHMP *hmp, const QDict *qdict)
552
{
553
+ Monitor *mon = MONITOR(hmp);
554
bool force = qdict_get_try_bool(qdict, "force", false);
555
const char *device = qdict_get_str(qdict, "device");
556
Error *err = NULL;
@@ -538,8 +559,9 @@ void hmp_eject(Monitor *mon, const QDict *qdict)
559
hmp_handle_error(mon, err);
560
}
561
541
-void hmp_qemu_io(Monitor *mon, const QDict *qdict)
562
+void hmp_qemu_io(MonitorHMP *hmp, const QDict *qdict)
563
{
564
+ Monitor *mon = MONITOR(hmp);
565
bool qdev = qdict_get_try_bool(qdict, "qdev", false);
566
const char *device = qdict_get_str(qdict, "device");
567
const char *command = qdict_get_str(qdict, "command");
@@ -666,8 +688,9 @@ static void print_block_info(Monitor *mon, BlockInfo *info,
688
}
689
}
690
669
-void hmp_info_block(Monitor *mon, const QDict *qdict)
691
+void hmp_info_block(MonitorHMP *hmp, const QDict *qdict)
692
{
693
+ Monitor *mon = MONITOR(hmp);
694
BlockInfoList *block_list, *info;
695
BlockDeviceInfoList *blockdev_list, *blockdev;
696
const char *device = qdict_get_try_str(qdict, "device");
@@ -719,8 +742,9 @@ void hmp_info_block(Monitor *mon, const QDict *qdict)
742
qapi_free_BlockDeviceInfoList(blockdev_list);
743
}
744
722
-void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
745
+void hmp_info_blockstats(MonitorHMP *hmp, const QDict *qdict)
746
{
747
+ Monitor *mon = MONITOR(hmp);
748
BlockStatsList *stats_list, *stats;
749
750
stats_list = qmp_query_blockstats(false, false, NULL);
@@ -757,8 +781,9 @@ void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
781
qapi_free_BlockStatsList(stats_list);
782
}
783
760
-void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
784
+void hmp_info_block_jobs(MonitorHMP *hmp, const QDict *qdict)
785
{
786
+ Monitor *mon = MONITOR(hmp);
787
BlockJobInfoList *list;
788
789
list = qmp_query_block_jobs(&error_abort);
@@ -793,8 +818,9 @@ void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
818
qapi_free_BlockJobInfoList(list);
819
}
820
796
-void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
821
+void hmp_info_snapshots(MonitorHMP *hmp, const QDict *qdict)
822
{
823
+ Monitor *mon = MONITOR(hmp);
824
BlockDriverState *bs, *bs1;
825
BdrvNextIterator it1;
826
QEMUSnapshotInfo *sn_tab, *sn;
chardev/char-hmp-cmds.c
+14
-7
@@ -24,8 +24,9 @@
24
#include "qemu/config-file.h"
25
#include "qemu/option.h"
26
27
-void hmp_info_chardev(Monitor *mon, const QDict *qdict)
27
+void hmp_info_chardev(MonitorHMP *hmp, const QDict *qdict)
28
{
29
+ Monitor *mon = MONITOR(hmp);
30
ChardevInfoList *char_info, *info;
31
32
char_info = qmp_query_chardev(NULL);
@@ -37,8 +38,9 @@ void hmp_info_chardev(Monitor *mon, const QDict *qdict)
38
qapi_free_ChardevInfoList(char_info);
39
}
40
40
-void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
41
+void hmp_ringbuf_write(MonitorHMP *hmp, const QDict *qdict)
42
{
43
+ Monitor *mon = MONITOR(hmp);
44
const char *chardev = qdict_get_str(qdict, "device");
45
const char *data = qdict_get_str(qdict, "data");
46
Error *err = NULL;
@@ -48,8 +50,9 @@ void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
50
hmp_handle_error(mon, err);
51
}
52
51
-void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
53
+void hmp_ringbuf_read(MonitorHMP *hmp, const QDict *qdict)
54
{
55
+ Monitor *mon = MONITOR(hmp);
56
uint32_t size = qdict_get_int(qdict, "size");
57
const char *chardev = qdict_get_str(qdict, "device");
58
char *data;
@@ -77,8 +80,9 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
80
g_free(data);
81
}
82
80
-void hmp_chardev_add(Monitor *mon, const QDict *qdict)
83
+void hmp_chardev_add(MonitorHMP *hmp, const QDict *qdict)
84
{
85
+ Monitor *mon = MONITOR(hmp);
86
const char *args = qdict_get_str(qdict, "args");
87
Error *err = NULL;
88
QemuOpts *opts;
@@ -93,8 +97,9 @@ void hmp_chardev_add(Monitor *mon, const QDict *qdict)
97
hmp_handle_error(mon, err);
98
}
99
96
-void hmp_chardev_change(Monitor *mon, const QDict *qdict)
100
+void hmp_chardev_change(MonitorHMP *hmp, const QDict *qdict)
101
{
102
+ Monitor *mon = MONITOR(hmp);
103
const char *args = qdict_get_str(qdict, "args");
104
const char *id;
105
Error *err = NULL;
@@ -127,16 +132,18 @@ end:
132
hmp_handle_error(mon, err);
133
}
134
130
-void hmp_chardev_remove(Monitor *mon, const QDict *qdict)
135
+void hmp_chardev_remove(MonitorHMP *hmp, const QDict *qdict)
136
{
137
+ Monitor *mon = MONITOR(hmp);
138
Error *local_err = NULL;
139
140
qmp_chardev_remove(qdict_get_str(qdict, "id"), &local_err);
141
hmp_handle_error(mon, local_err);
142
}
143
138
-void hmp_chardev_send_break(Monitor *mon, const QDict *qdict)
144
+void hmp_chardev_send_break(MonitorHMP *hmp, const QDict *qdict)
145
{
146
+ Monitor *mon = MONITOR(hmp);
147
Error *local_err = NULL;
148
149
qmp_chardev_send_break(qdict_get_str(qdict, "id"), &local_err);
dump/dump-hmp-cmds.c
+4
-2
@@ -12,8 +12,9 @@
12
#include "qapi/qapi-commands-dump.h"
13
#include "qobject/qdict.h"
14
15
-void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
15
+void hmp_dump_guest_memory(MonitorHMP *hmp, const QDict *qdict)
16
{
17
+ Monitor *mon = MONITOR(hmp);
18
Error *err = NULL;
19
bool win_dmp = qdict_get_try_bool(qdict, "windmp", false);
20
bool paging = qdict_get_try_bool(qdict, "paging", false);
@@ -83,8 +84,9 @@ void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
84
g_free(prot);
85
}
86
86
-void hmp_info_dump(Monitor *mon, const QDict *qdict)
87
+void hmp_info_dump(MonitorHMP *hmp, const QDict *qdict)
88
{
89
+ Monitor *mon = MONITOR(hmp);
90
DumpQueryResult *result = qmp_query_dump(NULL);
91
92
assert(result && result->status < DUMP_STATUS__MAX);
hw/core/machine-hmp-cmds.c
+32
-17
@@ -25,8 +25,9 @@
25
#include "system/numa.h"
26
#include "hw/core/boards.h"
27
28
-void hmp_info_cpus(Monitor *mon, const QDict *qdict)
28
+void hmp_info_cpus(MonitorHMP *hmp, const QDict *qdict)
29
{
30
+ Monitor *mon = MONITOR(hmp);
31
CpuInfoFastList *cpu_list, *cpu;
32
33
cpu_list = qmp_query_cpus_fast(NULL);
@@ -48,8 +49,9 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict)
49
qapi_free_CpuInfoFastList(cpu_list);
50
}
51
51
-void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
52
+void hmp_hotpluggable_cpus(MonitorHMP *hmp, const QDict *qdict)
53
{
54
+ Monitor *mon = MONITOR(hmp);
55
Error *err = NULL;
56
HotpluggableCPUList *l = qmp_query_hotpluggable_cpus(&err);
57
HotpluggableCPUList *saved = l;
@@ -106,8 +108,9 @@ void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
108
qapi_free_HotpluggableCPUList(saved);
109
}
110
109
-void hmp_info_memdev(Monitor *mon, const QDict *qdict)
111
+void hmp_info_memdev(MonitorHMP *hmp, const QDict *qdict)
112
{
113
+ Monitor *mon = MONITOR(hmp);
114
Error *err = NULL;
115
MemdevList *memdev_list = qmp_query_memdev(&err);
116
MemdevList *m = memdev_list;
@@ -147,8 +150,9 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
150
hmp_handle_error(mon, err);
151
}
152
150
-void hmp_info_kvm(Monitor *mon, const QDict *qdict)
153
+void hmp_info_kvm(MonitorHMP *hmp, const QDict *qdict)
154
{
155
+ Monitor *mon = MONITOR(hmp);
156
KvmInfo *info;
157
158
info = qmp_query_kvm(NULL);
@@ -162,8 +166,9 @@ void hmp_info_kvm(Monitor *mon, const QDict *qdict)
166
qapi_free_KvmInfo(info);
167
}
168
165
-void hmp_info_accelerators(Monitor *mon, const QDict *qdict)
169
+void hmp_info_accelerators(MonitorHMP *hmp, const QDict *qdict)
170
{
171
+ Monitor *mon = MONITOR(hmp);
172
AcceleratorInfo *info;
173
AcceleratorList *accel;
174
@@ -180,8 +185,9 @@ void hmp_info_accelerators(Monitor *mon, const QDict *qdict)
185
qapi_free_AcceleratorInfo(info);
186
}
187
183
-void hmp_info_uuid(Monitor *mon, const QDict *qdict)
188
+void hmp_info_uuid(MonitorHMP *hmp, const QDict *qdict)
189
{
190
+ Monitor *mon = MONITOR(hmp);
191
UuidInfo *info;
192
193
info = qmp_query_uuid(NULL);
@@ -189,8 +195,9 @@ void hmp_info_uuid(Monitor *mon, const QDict *qdict)
195
qapi_free_UuidInfo(info);
196
}
197
192
-void hmp_info_balloon(Monitor *mon, const QDict *qdict)
198
+void hmp_info_balloon(MonitorHMP *hmp, const QDict *qdict)
199
{
200
+ Monitor *mon = MONITOR(hmp);
201
BalloonInfo *info;
202
Error *err = NULL;
203
@@ -204,18 +211,19 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict)
211
qapi_free_BalloonInfo(info);
212
}
213
207
-void hmp_system_reset(Monitor *mon, const QDict *qdict)
214
+void hmp_system_reset(MonitorHMP *hmp, const QDict *qdict)
215
{
216
qmp_system_reset(NULL);
217
}
218
212
-void hmp_system_powerdown(Monitor *mon, const QDict *qdict)
219
+void hmp_system_powerdown(MonitorHMP *hmp, const QDict *qdict)
220
{
221
qmp_system_powerdown(NULL);
222
}
223
217
-void hmp_memsave(Monitor *mon, const QDict *qdict)
224
+void hmp_memsave(MonitorHMP *hmp, const QDict *qdict)
225
{
226
+ Monitor *mon = MONITOR(hmp);
227
uint32_t size = qdict_get_int(qdict, "size");
228
const char *filename = qdict_get_str(qdict, "filename");
229
uint64_t addr = qdict_get_int(qdict, "val");
@@ -231,8 +239,9 @@ void hmp_memsave(Monitor *mon, const QDict *qdict)
239
hmp_handle_error(mon, err);
240
}
241
234
-void hmp_pmemsave(Monitor *mon, const QDict *qdict)
242
+void hmp_pmemsave(MonitorHMP *hmp, const QDict *qdict)
243
{
244
+ Monitor *mon = MONITOR(hmp);
245
uint32_t size = qdict_get_int(qdict, "size");
246
const char *filename = qdict_get_str(qdict, "filename");
247
uint64_t addr = qdict_get_int(qdict, "val");
@@ -242,24 +251,27 @@ void hmp_pmemsave(Monitor *mon, const QDict *qdict)
251
hmp_handle_error(mon, err);
252
}
253
245
-void hmp_system_wakeup(Monitor *mon, const QDict *qdict)
254
+void hmp_system_wakeup(MonitorHMP *hmp, const QDict *qdict)
255
{
256
+ Monitor *mon = MONITOR(hmp);
257
Error *err = NULL;
258
259
qmp_system_wakeup(&err);
260
hmp_handle_error(mon, err);
261
}
262
253
-void hmp_nmi(Monitor *mon, const QDict *qdict)
263
+void hmp_nmi(MonitorHMP *hmp, const QDict *qdict)
264
{
265
+ Monitor *mon = MONITOR(hmp);
266
Error *err = NULL;
267
268
qmp_inject_nmi(&err);
269
hmp_handle_error(mon, err);
270
}
271
261
-void hmp_balloon(Monitor *mon, const QDict *qdict)
272
+void hmp_balloon(MonitorHMP *hmp, const QDict *qdict)
273
{
274
+ Monitor *mon = MONITOR(hmp);
275
int64_t value = qdict_get_int(qdict, "value");
276
Error *err = NULL;
277
@@ -267,8 +279,9 @@ void hmp_balloon(Monitor *mon, const QDict *qdict)
279
hmp_handle_error(mon, err);
280
}
281
270
-void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
282
+void hmp_info_memory_devices(MonitorHMP *hmp, const QDict *qdict)
283
{
284
+ Monitor *mon = MONITOR(hmp);
285
Error *err = NULL;
286
MemoryDeviceInfoList *info_list = qmp_query_memory_devices(&err);
287
MemoryDeviceInfoList *info;
@@ -370,8 +383,9 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
383
hmp_handle_error(mon, err);
384
}
385
373
-void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
386
+void hmp_info_vm_generation_id(MonitorHMP *hmp, const QDict *qdict)
387
{
388
+ Monitor *mon = MONITOR(hmp);
389
Error *err = NULL;
390
GuidInfo *info = qmp_query_vm_generation_id(&err);
391
if (info) {
@@ -381,8 +395,9 @@ void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
395
qapi_free_GuidInfo(info);
396
}
397
384
-void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict)
398
+void hmp_info_memory_size_summary(MonitorHMP *hmp, const QDict *qdict)
399
{
400
+ Monitor *mon = MONITOR(hmp);
401
Error *err = NULL;
402
MemoryInfo *info = qmp_query_memory_size_summary(&err);
403
if (info) {
hw/i386/kvm/xen-stubs.c
+4
-2
@@ -40,12 +40,14 @@ void xen_primary_console_set_be_port(uint16_t port)
40
{
41
}
42
43
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
43
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict)
44
{
45
+ Monitor *mon = MONITOR(hmp);
46
monitor_printf(mon, "XEN emulation is not available in this QEMU\n");
47
}
48
48
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict)
49
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict)
50
{
51
+ Monitor *mon = MONITOR(hmp);
52
monitor_printf(mon, "XEN emulation is not available in this QEMU\n");
53
}
hw/i386/kvm/xen_evtchn.c
+4
-2
@@ -2344,8 +2344,9 @@ void qmp_xen_event_inject(uint32_t port, Error **errp)
2344
}
2345
}
2346
2347
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
2347
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict)
2348
{
2349
+ Monitor *mon = MONITOR(hmp);
2350
EvtchnInfoList *iter, *info_list;
2351
Error *err = NULL;
2352
@@ -2379,8 +2380,9 @@ void hmp_xen_event_list(Monitor *mon, const QDict *qdict)
2380
qapi_free_EvtchnInfoList(info_list);
2381
}
2382
2382
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict)
2383
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict)
2384
{
2385
+ Monitor *mon = MONITOR(hmp);
2386
int port = qdict_get_int(qdict, "port");
2387
Error *err = NULL;
2388
hw/i386/sgx-hmp-stub.c
+2
-1
@@ -10,7 +10,8 @@
10
#include "monitor/hmp.h"
11
#include "monitor/monitor.h"
12
13
-void hmp_info_sgx(Monitor *mon, const QDict *qdict)
13
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict)
14
{
15
+ Monitor *mon = MONITOR(hmp);
16
monitor_printf(mon, "SGX is not available in this QEMU\n");
17
}
hw/i386/sgx.c
+2
-1
@@ -234,8 +234,9 @@ SgxInfo *qmp_query_sgx(Error **errp)
234
return info;
235
}
236
237
-void hmp_info_sgx(Monitor *mon, const QDict *qdict)
237
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict)
238
{
239
+ Monitor *mon = MONITOR(hmp);
240
Error *err = NULL;
241
SgxEpcSectionList *section_list, *section;
242
g_autoptr(SgxInfo) info = qmp_query_sgx(&err);
hw/misc/mos6522-stub.c
+2
-1
@@ -10,7 +10,8 @@
10
#include "monitor/monitor.h"
11
#include "monitor/hmp.h"
12
13
-void hmp_info_via(Monitor *mon, const QDict *qdict)
13
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict)
14
{
15
+ Monitor *mon = MONITOR(hmp);
16
monitor_printf(mon, "MOS6522 VIA is not available in this QEMU\n");
17
}
hw/misc/mos6522.c
+2
-1
@@ -586,8 +586,9 @@ static HumanReadableText *qmp_x_query_via(Error **errp)
586
return human_readable_text_from_str(buf);
587
}
588
589
-void hmp_info_via(Monitor *mon, const QDict *qdict)
589
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict)
590
{
591
+ Monitor *mon = MONITOR(hmp);
592
Error *err = NULL;
593
g_autoptr(HumanReadableText) info = qmp_x_query_via(&err);
594
hw/net/rocker/rocker-hmp-cmds.c
+8
-4
@@ -20,8 +20,9 @@
20
#include "qapi/qapi-commands-rocker.h"
21
#include "qobject/qdict.h"
22
23
-void hmp_rocker(Monitor *mon, const QDict *qdict)
23
+void hmp_rocker(MonitorHMP *hmp, const QDict *qdict)
24
{
25
+ Monitor *mon = MONITOR(hmp);
26
const char *name = qdict_get_str(qdict, "name");
27
RockerSwitch *rocker;
28
Error *err = NULL;
@@ -38,8 +39,9 @@ void hmp_rocker(Monitor *mon, const QDict *qdict)
39
qapi_free_RockerSwitch(rocker);
40
}
41
41
-void hmp_rocker_ports(Monitor *mon, const QDict *qdict)
42
+void hmp_rocker_ports(MonitorHMP *hmp, const QDict *qdict)
43
{
44
+ Monitor *mon = MONITOR(hmp);
45
RockerPortList *list, *port;
46
const char *name = qdict_get_str(qdict, "name");
47
Error *err = NULL;
@@ -65,8 +67,9 @@ void hmp_rocker_ports(Monitor *mon, const QDict *qdict)
67
qapi_free_RockerPortList(list);
68
}
69
68
-void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict)
70
+void hmp_rocker_of_dpa_flows(MonitorHMP *hmp, const QDict *qdict)
71
{
72
+ Monitor *mon = MONITOR(hmp);
73
RockerOfDpaFlowList *list, *info;
74
const char *name = qdict_get_str(qdict, "name");
75
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)
217
qapi_free_RockerOfDpaFlowList(list);
218
}
219
217
-void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict)
220
+void hmp_rocker_of_dpa_groups(MonitorHMP *hmp, const QDict *qdict)
221
{
222
+ Monitor *mon = MONITOR(hmp);
223
RockerOfDpaGroupList *list, *g;
224
const char *name = qdict_get_str(qdict, "name");
225
uint8_t type = qdict_get_try_int(qdict, "type", 9);
hw/pci/pci-hmp-cmds.c
+4
-2
@@ -117,8 +117,9 @@ static void hmp_info_pci_device(Monitor *mon, const PciDeviceInfo *dev)
117
}
118
}
119
120
-void hmp_info_pci(Monitor *mon, const QDict *qdict)
120
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict)
121
{
122
+ Monitor *mon = MONITOR(hmp);
123
PciInfoList *info_list, *info;
124
125
info_list = qmp_query_pci(&error_abort);
@@ -170,8 +171,9 @@ void pcibus_dev_print(Monitor *mon, DeviceState *dev, int indent)
171
}
172
}
173
173
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
174
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict)
175
{
176
+ Monitor *mon = MONITOR(hmp);
177
Error *err = NULL;
178
const char *id = qdict_get_str(qdict, "id");
179
const char *error_name;
hw/pci/pci-stub.c
+3
-2
@@ -34,12 +34,13 @@ PciInfoList *qmp_query_pci(Error **errp)
34
return NULL;
35
}
36
37
-void hmp_info_pci(Monitor *mon, const QDict *qdict)
37
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict)
38
{
39
}
40
41
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
41
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict)
42
{
43
+ Monitor *mon = MONITOR(hmp);
44
monitor_printf(mon, "PCI devices not supported\n");
45
}
46
hw/s390x/s390-skeys.c
+3
-2
@@ -104,8 +104,9 @@ static void write_keys(FILE *f, uint8_t *keys, uint64_t startgfn,
104
}
105
}
106
107
-void hmp_info_skeys(Monitor *mon, const QDict *qdict)
107
+void hmp_info_skeys(MonitorHMP *hmp, const QDict *qdict)
108
{
109
+ Monitor *mon = MONITOR(hmp);
110
S390SKeysState *ss = s390_get_skeys_device();
111
S390SKeysClass *skeyclass = S390_SKEYS_GET_CLASS(ss);
112
uint64_t addr = qdict_get_int(qdict, "addr");
@@ -134,7 +135,7 @@ void hmp_info_skeys(Monitor *mon, const QDict *qdict)
135
monitor_printf(mon, " key: 0x%X\n", key);
136
}
137
137
-void hmp_dump_skeys(Monitor *mon, const QDict *qdict)
138
+void hmp_dump_skeys(MonitorHMP *hmp, const QDict *qdict)
139
{
140
const char *filename = qdict_get_str(qdict, "filename");
141
Error *err = NULL;
hw/s390x/s390-stattrib.c
+4
-2
@@ -59,8 +59,9 @@ void s390_stattrib_init(void)
59
60
/* Console commands: */
61
62
-void hmp_migrationmode(Monitor *mon, const QDict *qdict)
62
+void hmp_migrationmode(MonitorHMP *hmp, const QDict *qdict)
63
{
64
+ Monitor *mon = MONITOR(hmp);
65
S390StAttribState *sas = s390_get_stattrib_device();
66
S390StAttribClass *sac = S390_STATTRIB_GET_CLASS(sas);
67
uint64_t what = qdict_get_int(qdict, "mode");
@@ -74,8 +75,9 @@ void hmp_migrationmode(Monitor *mon, const QDict *qdict)
75
}
76
}
77
77
-void hmp_info_cmma(Monitor *mon, const QDict *qdict)
78
+void hmp_info_cmma(MonitorHMP *hmp, const QDict *qdict)
79
{
80
+ Monitor *mon = MONITOR(hmp);
81
S390StAttribState *sas = s390_get_stattrib_device();
82
S390StAttribClass *sac = S390_STATTRIB_GET_CLASS(sas);
83
uint64_t addr = qdict_get_int(qdict, "addr");
hw/uefi/ovmf-log.c
+2
-1
@@ -256,8 +256,9 @@ FirmwareLog *qmp_query_firmware_log(bool have_max_size, uint64_t max_size,
256
return ret;
257
}
258
259
-void hmp_info_firmware_log(Monitor *mon, const QDict *qdict)
259
+void hmp_info_firmware_log(MonitorHMP *hmp, const QDict *qdict)
260
{
261
+ Monitor *mon = MONITOR(hmp);
262
g_autofree gchar *log_esc = NULL;
263
g_autofree guchar *log_out = NULL;
264
Error *err = NULL;
hw/usb/host-libusb.c
+2
-1
@@ -1920,8 +1920,9 @@ static void usb_host_auto_check(void *unused)
1920
timer_mod(usb_auto_timer, qemu_clock_get_ms(QEMU_CLOCK_REALTIME) + 2000);
1921
}
1922
1923
-void hmp_info_usbhost(Monitor *mon, const QDict *qdict)
1923
+void hmp_info_usbhost(MonitorHMP *hmp, const QDict *qdict)
1924
{
1925
+ Monitor *mon = MONITOR(hmp);
1926
libusb_device **devs = NULL;
1927
struct libusb_device_descriptor ddesc;
1928
char port[16];
hw/virtio/virtio-hmp-cmds.c
+10
-5
@@ -80,8 +80,9 @@ static void hmp_virtio_dump_features(Monitor *mon,
80
}
81
}
82
83
-void hmp_virtio_query(Monitor *mon, const QDict *qdict)
83
+void hmp_virtio_query(MonitorHMP *hmp, const QDict *qdict)
84
{
85
+ Monitor *mon = MONITOR(hmp);
86
Error *err = NULL;
87
VirtioInfoList *list = qmp_x_query_virtio(&err);
88
VirtioInfoList *node;
@@ -105,8 +106,9 @@ void hmp_virtio_query(Monitor *mon, const QDict *qdict)
106
qapi_free_VirtioInfoList(list);
107
}
108
108
-void hmp_virtio_status(Monitor *mon, const QDict *qdict)
109
+void hmp_virtio_status(MonitorHMP *hmp, const QDict *qdict)
110
{
111
+ Monitor *mon = MONITOR(hmp);
112
Error *err = NULL;
113
const char *path = qdict_get_try_str(qdict, "path");
114
VirtioStatus *s = qmp_x_query_virtio_status(path, &err);
@@ -183,8 +185,9 @@ void hmp_virtio_status(Monitor *mon, const QDict *qdict)
185
qapi_free_VirtioStatus(s);
186
}
187
186
-void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict)
188
+void hmp_vhost_queue_status(MonitorHMP *hmp, const QDict *qdict)
189
{
190
+ Monitor *mon = MONITOR(hmp);
191
Error *err = NULL;
192
const char *path = qdict_get_try_str(qdict, "path");
193
int queue = qdict_get_int(qdict, "queue");
@@ -216,8 +219,9 @@ void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict)
219
qapi_free_VirtVhostQueueStatus(s);
220
}
221
219
-void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict)
222
+void hmp_virtio_queue_status(MonitorHMP *hmp, const QDict *qdict)
223
{
224
+ Monitor *mon = MONITOR(hmp);
225
Error *err = NULL;
226
const char *path = qdict_get_try_str(qdict, "path");
227
int queue = qdict_get_int(qdict, "queue");
@@ -261,8 +265,9 @@ void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict)
265
qapi_free_VirtQueueStatus(s);
266
}
267
264
-void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict)
268
+void hmp_virtio_queue_element(MonitorHMP *hmp, const QDict *qdict)
269
{
270
+ Monitor *mon = MONITOR(hmp);
271
Error *err = NULL;
272
const char *path = qdict_get_try_str(qdict, "path");
273
int queue = qdict_get_int(qdict, "queue");
include/block/block-hmp-cmds.h
+28
-27
@@ -16,41 +16,42 @@
16
#define BLOCK_BLOCK_HMP_CMDS_H
17
18
#include "qemu/coroutine.h"
19
+#include "monitor/hmp.h"
20
20
-void hmp_drive_add(Monitor *mon, const QDict *qdict);
21
+void hmp_drive_add(MonitorHMP *hmp, const QDict *qdict);
22
22
-void hmp_commit(Monitor *mon, const QDict *qdict);
23
-void hmp_drive_del(Monitor *mon, const QDict *qdict);
23
+void hmp_commit(MonitorHMP *hmp, const QDict *qdict);
24
+void hmp_drive_del(MonitorHMP *hmp, const QDict *qdict);
25
25
-void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
26
-void hmp_drive_backup(Monitor *mon, const QDict *qdict);
26
+void hmp_drive_mirror(MonitorHMP *hmp, const QDict *qdict);
27
+void hmp_drive_backup(MonitorHMP *hmp, const QDict *qdict);
28
28
-void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict);
29
-void hmp_block_job_cancel(Monitor *mon, const QDict *qdict);
30
-void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
31
-void hmp_block_job_resume(Monitor *mon, const QDict *qdict);
32
-void hmp_block_job_complete(Monitor *mon, const QDict *qdict);
29
+void hmp_block_job_set_speed(MonitorHMP *hmp, const QDict *qdict);
30
+void hmp_block_job_cancel(MonitorHMP *hmp, const QDict *qdict);
31
+void hmp_block_job_pause(MonitorHMP *hmp, const QDict *qdict);
32
+void hmp_block_job_resume(MonitorHMP *hmp, const QDict *qdict);
33
+void hmp_block_job_complete(MonitorHMP *hmp, const QDict *qdict);
34
34
-void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
35
-void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
36
-void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict);
35
+void hmp_snapshot_blkdev(MonitorHMP *hmp, const QDict *qdict);
36
+void hmp_snapshot_blkdev_internal(MonitorHMP *hmp, const QDict *qdict);
37
+void hmp_snapshot_delete_blkdev_internal(MonitorHMP *hmp, const QDict *qdict);
38
38
-void hmp_nbd_server_start(Monitor *mon, const QDict *qdict);
39
-void hmp_nbd_server_add(Monitor *mon, const QDict *qdict);
40
-void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict);
41
-void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
39
+void hmp_nbd_server_start(MonitorHMP *hmp, const QDict *qdict);
40
+void hmp_nbd_server_add(MonitorHMP *hmp, const QDict *qdict);
41
+void hmp_nbd_server_remove(MonitorHMP *hmp, const QDict *qdict);
42
+void hmp_nbd_server_stop(MonitorHMP *hmp, const QDict *qdict);
43
43
-void coroutine_fn hmp_block_resize(Monitor *mon, const QDict *qdict);
44
-void hmp_block_stream(Monitor *mon, const QDict *qdict);
45
-void hmp_block_passwd(Monitor *mon, const QDict *qdict);
46
-void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict);
47
-void hmp_eject(Monitor *mon, const QDict *qdict);
44
+void coroutine_fn hmp_block_resize(MonitorHMP *hmp, const QDict *qdict);
45
+void hmp_block_stream(MonitorHMP *hmp, const QDict *qdict);
46
+void hmp_block_passwd(MonitorHMP *hmp, const QDict *qdict);
47
+void hmp_block_set_io_throttle(MonitorHMP *hmp, const QDict *qdict);
48
+void hmp_eject(MonitorHMP *hmp, const QDict *qdict);
49
49
-void hmp_qemu_io(Monitor *mon, const QDict *qdict);
50
+void hmp_qemu_io(MonitorHMP *hmp, const QDict *qdict);
51
51
-void hmp_info_block(Monitor *mon, const QDict *qdict);
52
-void hmp_info_blockstats(Monitor *mon, const QDict *qdict);
53
-void hmp_info_block_jobs(Monitor *mon, const QDict *qdict);
54
-void hmp_info_snapshots(Monitor *mon, const QDict *qdict);
52
+void hmp_info_block(MonitorHMP *hmp, const QDict *qdict);
53
+void hmp_info_blockstats(MonitorHMP *hmp, const QDict *qdict);
54
+void hmp_info_block_jobs(MonitorHMP *hmp, const QDict *qdict);
55
+void hmp_info_snapshots(MonitorHMP *hmp, const QDict *qdict);
56
57
#endif
include/hw/usb/usb.h
+2
-1
@@ -31,6 +31,7 @@
31
#include "qemu/queue.h"
32
#include "qom/object.h"
33
#include "qapi/error.h"
34
+#include "monitor/hmp.h"
35
36
/* Constants related to the USB / PCI interaction */
37
#define USB_SBRN 0x60 /* Serial Bus Release Number Register */
@@ -466,7 +467,7 @@ void usb_wakeup(USBEndpoint *ep, unsigned int stream);
467
void usb_generic_async_ctrl_complete(USBDevice *s, USBPacket *p);
468
469
/* usb-linux.c */
469
-void hmp_info_usbhost(Monitor *mon, const QDict *qdict);
470
+void hmp_info_usbhost(MonitorHMP *hmp, const QDict *qdict);
471
472
/* usb ports of the VM */
473
include/monitor/hmp.h
+147
-147
@@ -22,7 +22,7 @@
22
OBJECT_DECLARE_TYPE(MonitorHMP, MonitorHMPClass, MONITOR_HMP);
23
24
#define HMP_STUB(cmd) \
25
- void hmp_##cmd(Monitor *mon, const QDict *qdict) \
25
+ void hmp_##cmd(MonitorHMP *hmp, const QDict *qdict) \
26
{ \
27
g_assert_not_reached(); \
28
}
@@ -46,7 +46,7 @@ int monitor_hmp_read_password(MonitorHMP *hmp, ReadLineFunc *readline_func,
46
void *opaque);
47
48
void monitor_register_hmp(const char *name, bool info,
49
- void (*cmd)(Monitor *mon, const QDict *qdict));
49
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict));
50
void monitor_register_hmp_info_hrt(const char *name,
51
HumanReadableText *(*handler)(Error **errp));
52
@@ -58,58 +58,58 @@ bool hmp_handle_error(Monitor *mon, Error *err);
58
void hmp_help_cmd(Monitor *mon, const char *name);
59
strList *hmp_split_at_comma(const char *str);
60
61
-void hmp_info_name(Monitor *mon, const QDict *qdict);
62
-void hmp_info_version(Monitor *mon, const QDict *qdict);
63
-void hmp_info_kvm(Monitor *mon, const QDict *qdict);
64
-void hmp_info_accelerators(Monitor *mon, const QDict *qdict);
65
-void hmp_info_status(Monitor *mon, const QDict *qdict);
66
-void hmp_info_uuid(Monitor *mon, const QDict *qdict);
67
-void hmp_info_chardev(Monitor *mon, const QDict *qdict);
68
-void hmp_info_mice(Monitor *mon, const QDict *qdict);
69
-void hmp_info_migrate(Monitor *mon, const QDict *qdict);
70
-void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
71
-void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict);
72
-void hmp_info_cpus(Monitor *mon, const QDict *qdict);
73
-void hmp_info_vnc(Monitor *mon, const QDict *qdict);
74
-void hmp_info_spice(Monitor *mon, const QDict *qdict);
75
-void hmp_info_balloon(Monitor *mon, const QDict *qdict);
76
-void hmp_info_pci(Monitor *mon, const QDict *qdict);
77
-void hmp_info_tpm(Monitor *mon, const QDict *qdict);
78
-void hmp_info_iothreads(Monitor *mon, const QDict *qdict);
79
-void hmp_quit(Monitor *mon, const QDict *qdict);
80
-void hmp_stop(Monitor *mon, const QDict *qdict);
81
-void hmp_sync_profile(Monitor *mon, const QDict *qdict);
82
-void hmp_system_reset(Monitor *mon, const QDict *qdict);
83
-void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
84
-void hmp_exit_preconfig(Monitor *mon, const QDict *qdict);
85
-void hmp_announce_self(Monitor *mon, const QDict *qdict);
86
-void hmp_cpu(Monitor *mon, const QDict *qdict);
87
-void hmp_memsave(Monitor *mon, const QDict *qdict);
88
-void hmp_pmemsave(Monitor *mon, const QDict *qdict);
89
-void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
90
-void hmp_ringbuf_read(Monitor *mon, const QDict *qdict);
91
-void hmp_cont(Monitor *mon, const QDict *qdict);
92
-void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
93
-void hmp_nmi(Monitor *mon, const QDict *qdict);
94
-void hmp_info_network(Monitor *mon, const QDict *qdict);
95
-void hmp_set_link(Monitor *mon, const QDict *qdict);
96
-void hmp_balloon(Monitor *mon, const QDict *qdict);
97
-void hmp_loadvm(Monitor *mon, const QDict *qdict);
98
-void hmp_savevm(Monitor *mon, const QDict *qdict);
99
-void hmp_delvm(Monitor *mon, const QDict *qdict);
100
-void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
101
-void hmp_migrate_continue(Monitor *mon, const QDict *qdict);
102
-void hmp_migrate_incoming(Monitor *mon, const QDict *qdict);
103
-void hmp_migrate_recover(Monitor *mon, const QDict *qdict);
104
-void hmp_migrate_pause(Monitor *mon, const QDict *qdict);
105
-void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict);
106
-void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict);
107
-void hmp_client_migrate_info(Monitor *mon, const QDict *qdict);
108
-void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict);
109
-void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict);
110
-void hmp_set_password(Monitor *mon, const QDict *qdict);
111
-void hmp_expire_password(Monitor *mon, const QDict *qdict);
112
-void hmp_change(Monitor *mon, const QDict *qdict);
61
+void hmp_info_name(MonitorHMP *hmp, const QDict *qdict);
62
+void hmp_info_version(MonitorHMP *hmp, const QDict *qdict);
63
+void hmp_info_kvm(MonitorHMP *hmp, const QDict *qdict);
64
+void hmp_info_accelerators(MonitorHMP *hmp, const QDict *qdict);
65
+void hmp_info_status(MonitorHMP *hmp, const QDict *qdict);
66
+void hmp_info_uuid(MonitorHMP *hmp, const QDict *qdict);
67
+void hmp_info_chardev(MonitorHMP *hmp, const QDict *qdict);
68
+void hmp_info_mice(MonitorHMP *hmp, const QDict *qdict);
69
+void hmp_info_migrate(MonitorHMP *hmp, const QDict *qdict);
70
+void hmp_info_migrate_capabilities(MonitorHMP *hmp, const QDict *qdict);
71
+void hmp_info_migrate_parameters(MonitorHMP *hmp, const QDict *qdict);
72
+void hmp_info_cpus(MonitorHMP *hmp, const QDict *qdict);
73
+void hmp_info_vnc(MonitorHMP *hmp, const QDict *qdict);
74
+void hmp_info_spice(MonitorHMP *hmp, const QDict *qdict);
75
+void hmp_info_balloon(MonitorHMP *hmp, const QDict *qdict);
76
+void hmp_info_pci(MonitorHMP *hmp, const QDict *qdict);
77
+void hmp_info_tpm(MonitorHMP *hmp, const QDict *qdict);
78
+void hmp_info_iothreads(MonitorHMP *hmp, const QDict *qdict);
79
+void hmp_quit(MonitorHMP *hmp, const QDict *qdict);
80
+void hmp_stop(MonitorHMP *hmp, const QDict *qdict);
81
+void hmp_sync_profile(MonitorHMP *hmp, const QDict *qdict);
82
+void hmp_system_reset(MonitorHMP *hmp, const QDict *qdict);
83
+void hmp_system_powerdown(MonitorHMP *hmp, const QDict *qdict);
84
+void hmp_exit_preconfig(MonitorHMP *hmp, const QDict *qdict);
85
+void hmp_announce_self(MonitorHMP *hmp, const QDict *qdict);
86
+void hmp_cpu(MonitorHMP *hmp, const QDict *qdict);
87
+void hmp_memsave(MonitorHMP *hmp, const QDict *qdict);
88
+void hmp_pmemsave(MonitorHMP *hmp, const QDict *qdict);
89
+void hmp_ringbuf_write(MonitorHMP *hmp, const QDict *qdict);
90
+void hmp_ringbuf_read(MonitorHMP *hmp, const QDict *qdict);
91
+void hmp_cont(MonitorHMP *hmp, const QDict *qdict);
92
+void hmp_system_wakeup(MonitorHMP *hmp, const QDict *qdict);
93
+void hmp_nmi(MonitorHMP *hmp, const QDict *qdict);
94
+void hmp_info_network(MonitorHMP *hmp, const QDict *qdict);
95
+void hmp_set_link(MonitorHMP *hmp, const QDict *qdict);
96
+void hmp_balloon(MonitorHMP *hmp, const QDict *qdict);
97
+void hmp_loadvm(MonitorHMP *hmp, const QDict *qdict);
98
+void hmp_savevm(MonitorHMP *hmp, const QDict *qdict);
99
+void hmp_delvm(MonitorHMP *hmp, const QDict *qdict);
100
+void hmp_migrate_cancel(MonitorHMP *hmp, const QDict *qdict);
101
+void hmp_migrate_continue(MonitorHMP *hmp, const QDict *qdict);
102
+void hmp_migrate_incoming(MonitorHMP *hmp, const QDict *qdict);
103
+void hmp_migrate_recover(MonitorHMP *hmp, const QDict *qdict);
104
+void hmp_migrate_pause(MonitorHMP *hmp, const QDict *qdict);
105
+void hmp_migrate_set_capability(MonitorHMP *hmp, const QDict *qdict);
106
+void hmp_migrate_set_parameter(MonitorHMP *hmp, const QDict *qdict);
107
+void hmp_client_migrate_info(MonitorHMP *hmp, const QDict *qdict);
108
+void hmp_migrate_start_postcopy(MonitorHMP *hmp, const QDict *qdict);
109
+void hmp_x_colo_lost_heartbeat(MonitorHMP *hmp, const QDict *qdict);
110
+void hmp_set_password(MonitorHMP *hmp, const QDict *qdict);
111
+void hmp_expire_password(MonitorHMP *hmp, const QDict *qdict);
112
+void hmp_change(MonitorHMP *hmp, const QDict *qdict);
113
#ifdef CONFIG_VNC
114
void hmp_change_vnc(Monitor *mon, const char *device, const char *target,
115
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,
118
void hmp_change_medium(Monitor *mon, const char *device, const char *target,
119
const char *arg, const char *read_only, bool force,
120
Error **errp);
121
-void hmp_migrate(Monitor *mon, const QDict *qdict);
122
-void hmp_device_add(Monitor *mon, const QDict *qdict);
123
-void hmp_device_del(Monitor *mon, const QDict *qdict);
124
-void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
125
-void hmp_netdev_add(Monitor *mon, const QDict *qdict);
126
-void hmp_netdev_del(Monitor *mon, const QDict *qdict);
127
-void hmp_getfd(Monitor *mon, const QDict *qdict);
128
-void hmp_closefd(Monitor *mon, const QDict *qdict);
129
-void hmp_mouse_move(Monitor *mon, const QDict *qdict);
130
-void hmp_mouse_button(Monitor *mon, const QDict *qdict);
131
-void hmp_mouse_set(Monitor *mon, const QDict *qdict);
132
-void hmp_sendkey(Monitor *mon, const QDict *qdict);
133
-void coroutine_fn hmp_screendump(Monitor *mon, const QDict *qdict);
134
-void hmp_chardev_add(Monitor *mon, const QDict *qdict);
135
-void hmp_chardev_change(Monitor *mon, const QDict *qdict);
136
-void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
137
-void hmp_chardev_send_break(Monitor *mon, const QDict *qdict);
138
-void hmp_object_add(Monitor *mon, const QDict *qdict);
139
-void hmp_object_del(Monitor *mon, const QDict *qdict);
140
-void hmp_info_memdev(Monitor *mon, const QDict *qdict);
141
-void hmp_info_memory_devices(Monitor *mon, const QDict *qdict);
142
-void hmp_qom_list(Monitor *mon, const QDict *qdict);
143
-void hmp_qom_get(Monitor *mon, const QDict *qdict);
144
-void hmp_qom_set(Monitor *mon, const QDict *qdict);
145
-void hmp_info_qom_tree(Monitor *mon, const QDict *dict);
146
-void hmp_virtio_query(Monitor *mon, const QDict *qdict);
147
-void hmp_virtio_status(Monitor *mon, const QDict *qdict);
148
-void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict);
149
-void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict);
150
-void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict);
151
-void hmp_xen_event_inject(Monitor *mon, const QDict *qdict);
152
-void hmp_xen_event_list(Monitor *mon, const QDict *qdict);
153
-void hmp_rocker(Monitor *mon, const QDict *qdict);
154
-void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
155
-void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
156
-void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
157
-void hmp_info_dump(Monitor *mon, const QDict *qdict);
158
-void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);
159
-void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict);
160
-void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict);
161
-void hmp_info_replay(Monitor *mon, const QDict *qdict);
162
-void hmp_replay_break(Monitor *mon, const QDict *qdict);
163
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict);
164
-void hmp_replay_seek(Monitor *mon, const QDict *qdict);
165
-void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict);
166
-void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict);
167
-void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
168
-void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
169
-void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
121
+void hmp_migrate(MonitorHMP *hmp, const QDict *qdict);
122
+void hmp_device_add(MonitorHMP *hmp, const QDict *qdict);
123
+void hmp_device_del(MonitorHMP *hmp, const QDict *qdict);
124
+void hmp_dump_guest_memory(MonitorHMP *hmp, const QDict *qdict);
125
+void hmp_netdev_add(MonitorHMP *hmp, const QDict *qdict);
126
+void hmp_netdev_del(MonitorHMP *hmp, const QDict *qdict);
127
+void hmp_getfd(MonitorHMP *hmp, const QDict *qdict);
128
+void hmp_closefd(MonitorHMP *hmp, const QDict *qdict);
129
+void hmp_mouse_move(MonitorHMP *hmp, const QDict *qdict);
130
+void hmp_mouse_button(MonitorHMP *hmp, const QDict *qdict);
131
+void hmp_mouse_set(MonitorHMP *hmp, const QDict *qdict);
132
+void hmp_sendkey(MonitorHMP *hmp, const QDict *qdict);
133
+void coroutine_fn hmp_screendump(MonitorHMP *hmp, const QDict *qdict);
134
+void hmp_chardev_add(MonitorHMP *hmp, const QDict *qdict);
135
+void hmp_chardev_change(MonitorHMP *hmp, const QDict *qdict);
136
+void hmp_chardev_remove(MonitorHMP *hmp, const QDict *qdict);
137
+void hmp_chardev_send_break(MonitorHMP *hmp, const QDict *qdict);
138
+void hmp_object_add(MonitorHMP *hmp, const QDict *qdict);
139
+void hmp_object_del(MonitorHMP *hmp, const QDict *qdict);
140
+void hmp_info_memdev(MonitorHMP *hmp, const QDict *qdict);
141
+void hmp_info_memory_devices(MonitorHMP *hmp, const QDict *qdict);
142
+void hmp_qom_list(MonitorHMP *hmp, const QDict *qdict);
143
+void hmp_qom_get(MonitorHMP *hmp, const QDict *qdict);
144
+void hmp_qom_set(MonitorHMP *hmp, const QDict *qdict);
145
+void hmp_info_qom_tree(MonitorHMP *hmp, const QDict *dict);
146
+void hmp_virtio_query(MonitorHMP *hmp, const QDict *qdict);
147
+void hmp_virtio_status(MonitorHMP *hmp, const QDict *qdict);
148
+void hmp_virtio_queue_status(MonitorHMP *hmp, const QDict *qdict);
149
+void hmp_vhost_queue_status(MonitorHMP *hmp, const QDict *qdict);
150
+void hmp_virtio_queue_element(MonitorHMP *hmp, const QDict *qdict);
151
+void hmp_xen_event_inject(MonitorHMP *hmp, const QDict *qdict);
152
+void hmp_xen_event_list(MonitorHMP *hmp, const QDict *qdict);
153
+void hmp_rocker(MonitorHMP *hmp, const QDict *qdict);
154
+void hmp_rocker_ports(MonitorHMP *hmp, const QDict *qdict);
155
+void hmp_rocker_of_dpa_flows(MonitorHMP *hmp, const QDict *qdict);
156
+void hmp_rocker_of_dpa_groups(MonitorHMP *hmp, const QDict *qdict);
157
+void hmp_info_dump(MonitorHMP *hmp, const QDict *qdict);
158
+void hmp_hotpluggable_cpus(MonitorHMP *hmp, const QDict *qdict);
159
+void hmp_info_vm_generation_id(MonitorHMP *hmp, const QDict *qdict);
160
+void hmp_info_memory_size_summary(MonitorHMP *hmp, const QDict *qdict);
161
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict);
162
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict);
163
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict);
164
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict);
165
+void hmp_info_dirty_rate(MonitorHMP *hmp, const QDict *qdict);
166
+void hmp_calc_dirty_rate(MonitorHMP *hmp, const QDict *qdict);
167
+void hmp_set_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
168
+void hmp_cancel_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
169
+void hmp_info_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict);
170
void hmp_human_readable_text_helper(Monitor *mon,
171
HumanReadableText *(*qmp_handler)(Error **));
172
-void hmp_info_stats(Monitor *mon, const QDict *qdict);
173
-void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict);
174
-void hmp_watchdog_action(Monitor *mon, const QDict *qdict);
175
-void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict);
176
-void hmp_info_capture(Monitor *mon, const QDict *qdict);
177
-void hmp_stopcapture(Monitor *mon, const QDict *qdict);
178
-void hmp_wavcapture(Monitor *mon, const QDict *qdict);
179
-void hmp_trace_event(Monitor *mon, const QDict *qdict);
180
-void hmp_trace_file(Monitor *mon, const QDict *qdict);
181
-void hmp_info_trace_events(Monitor *mon, const QDict *qdict);
182
-void hmp_help(Monitor *mon, const QDict *qdict);
183
-void hmp_clear(Monitor *mon, const QDict *qdict);
184
-void hmp_info_help(Monitor *mon, const QDict *qdict);
185
-void hmp_info_sync_profile(Monitor *mon, const QDict *qdict);
186
-void hmp_info_history(Monitor *mon, const QDict *qdict);
187
-void hmp_logfile(Monitor *mon, const QDict *qdict);
188
-void hmp_log(Monitor *mon, const QDict *qdict);
189
-void hmp_gdbserver(Monitor *mon, const QDict *qdict);
190
-void hmp_print(Monitor *mon, const QDict *qdict);
191
-void hmp_sum(Monitor *mon, const QDict *qdict);
192
-void hmp_ioport_read(Monitor *mon, const QDict *qdict);
193
-void hmp_ioport_write(Monitor *mon, const QDict *qdict);
194
-void hmp_boot_set(Monitor *mon, const QDict *qdict);
195
-void hmp_info_mtree(Monitor *mon, const QDict *qdict);
196
-void hmp_info_cryptodev(Monitor *mon, const QDict *qdict);
197
-void hmp_dumpdtb(Monitor *mon, const QDict *qdict);
198
-void hmp_info_firmware_log(Monitor *mon, const QDict *qdict);
199
-void hmp_info_mem(Monitor *mon, const QDict *qdict);
200
-void hmp_info_tlb(Monitor *mon, const QDict *qdict);
201
-void hmp_mce(Monitor *mon, const QDict *qdict);
202
-void hmp_info_local_apic(Monitor *mon, const QDict *qdict);
203
-void hmp_info_sev(Monitor *mon, const QDict *qdict);
204
-void hmp_info_sgx(Monitor *mon, const QDict *qdict);
205
-void hmp_info_via(Monitor *mon, const QDict *qdict);
206
-void hmp_memory_dump(Monitor *mon, const QDict *qdict);
207
-void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict);
208
-void hmp_info_registers(Monitor *mon, const QDict *qdict);
209
-void hmp_gva2gpa(Monitor *mon, const QDict *qdict);
210
-void hmp_gpa2hva(Monitor *mon, const QDict *qdict);
211
-void hmp_gpa2hpa(Monitor *mon, const QDict *qdict);
172
+void hmp_info_stats(MonitorHMP *hmp, const QDict *qdict);
173
+void hmp_one_insn_per_tb(MonitorHMP *hmp, const QDict *qdict);
174
+void hmp_watchdog_action(MonitorHMP *hmp, const QDict *qdict);
175
+void hmp_pcie_aer_inject_error(MonitorHMP *hmp, const QDict *qdict);
176
+void hmp_info_capture(MonitorHMP *hmp, const QDict *qdict);
177
+void hmp_stopcapture(MonitorHMP *hmp, const QDict *qdict);
178
+void hmp_wavcapture(MonitorHMP *hmp, const QDict *qdict);
179
+void hmp_trace_event(MonitorHMP *hmp, const QDict *qdict);
180
+void hmp_trace_file(MonitorHMP *hmp, const QDict *qdict);
181
+void hmp_info_trace_events(MonitorHMP *hmp, const QDict *qdict);
182
+void hmp_help(MonitorHMP *hmp, const QDict *qdict);
183
+void hmp_clear(MonitorHMP *hmp, const QDict *qdict);
184
+void hmp_info_help(MonitorHMP *hmp, const QDict *qdict);
185
+void hmp_info_sync_profile(MonitorHMP *hmp, const QDict *qdict);
186
+void hmp_info_history(MonitorHMP *hmp, const QDict *qdict);
187
+void hmp_logfile(MonitorHMP *hmp, const QDict *qdict);
188
+void hmp_log(MonitorHMP *hmp, const QDict *qdict);
189
+void hmp_gdbserver(MonitorHMP *hmp, const QDict *qdict);
190
+void hmp_print(MonitorHMP *hmp, const QDict *qdict);
191
+void hmp_sum(MonitorHMP *hmp, const QDict *qdict);
192
+void hmp_ioport_read(MonitorHMP *hmp, const QDict *qdict);
193
+void hmp_ioport_write(MonitorHMP *hmp, const QDict *qdict);
194
+void hmp_boot_set(MonitorHMP *hmp, const QDict *qdict);
195
+void hmp_info_mtree(MonitorHMP *hmp, const QDict *qdict);
196
+void hmp_info_cryptodev(MonitorHMP *hmp, const QDict *qdict);
197
+void hmp_dumpdtb(MonitorHMP *hmp, const QDict *qdict);
198
+void hmp_info_firmware_log(MonitorHMP *hmp, const QDict *qdict);
199
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict);
200
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict);
201
+void hmp_mce(MonitorHMP *hmp, const QDict *qdict);
202
+void hmp_info_local_apic(MonitorHMP *hmp, const QDict *qdict);
203
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict);
204
+void hmp_info_sgx(MonitorHMP *hmp, const QDict *qdict);
205
+void hmp_info_via(MonitorHMP *hmp, const QDict *qdict);
206
+void hmp_memory_dump(MonitorHMP *hmp, const QDict *qdict);
207
+void hmp_physical_memory_dump(MonitorHMP *hmp, const QDict *qdict);
208
+void hmp_info_registers(MonitorHMP *hmp, const QDict *qdict);
209
+void hmp_gva2gpa(MonitorHMP *hmp, const QDict *qdict);
210
+void hmp_gpa2hva(MonitorHMP *hmp, const QDict *qdict);
211
+void hmp_gpa2hpa(MonitorHMP *hmp, const QDict *qdict);
212
213
-void hmp_dump_skeys(Monitor *mon, const QDict *qdict);
214
-void hmp_info_skeys(Monitor *mon, const QDict *qdict);
215
-void hmp_info_cmma(Monitor *mon, const QDict *qdict);
216
-void hmp_migrationmode(Monitor *mon, const QDict *qdict);
213
+void hmp_dump_skeys(MonitorHMP *hmp, const QDict *qdict);
214
+void hmp_info_skeys(MonitorHMP *hmp, const QDict *qdict);
215
+void hmp_info_cmma(MonitorHMP *hmp, const QDict *qdict);
216
+void hmp_migrationmode(MonitorHMP *hmp, const QDict *qdict);
217
218
#endif
include/monitor/qdev.h
+3
-2
@@ -2,11 +2,12 @@
2
#define MONITOR_QDEV_H
3
4
#include "hw/core/qdev.h"
5
+#include "monitor/hmp.h"
6
7
/*** monitor commands ***/
8
8
-void hmp_info_qtree(Monitor *mon, const QDict *qdict);
9
-void hmp_info_qdm(Monitor *mon, const QDict *qdict);
9
+void hmp_info_qtree(MonitorHMP *hmp, const QDict *qdict);
10
+void hmp_info_qdm(MonitorHMP *hmp, const QDict *qdict);
11
void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp);
12
13
int qdev_device_help(QemuOpts *opts);
include/net/net.h
+3
-2
@@ -5,6 +5,7 @@
5
#include "qapi/qapi-types-net.h"
6
#include "net/queue.h"
7
#include "hw/core/qdev-properties-system.h"
8
+#include "monitor/hmp.h"
9
10
#define MAC_FMT "%02X:%02X:%02X:%02X:%02X:%02X"
11
#define MAC_ARG(x) ((uint8_t *)(x))[0], ((uint8_t *)(x))[1], \
@@ -318,8 +319,8 @@ void net_init_clients(void);
319
void net_check_clients(void);
320
void net_client_set_link(NetClientState **ncs, int queues, bool up);
321
void net_cleanup(void);
321
-void hmp_host_net_add(Monitor *mon, const QDict *qdict);
322
-void hmp_host_net_remove(Monitor *mon, const QDict *qdict);
322
+void hmp_host_net_add(MonitorHMP *hmp, const QDict *qdict);
323
+void hmp_host_net_remove(MonitorHMP *hmp, const QDict *qdict);
324
void netdev_add(QemuOpts *opts, Error **errp);
325
326
int net_hub_id_for_client(NetClientState *nc, int *id);
include/net/slirp.h
+4
-4
@@ -24,13 +24,13 @@
24
#ifndef QEMU_NET_SLIRP_H
25
#define QEMU_NET_SLIRP_H
26
27
-
27
#ifdef CONFIG_SLIRP
28
+#include "monitor/hmp.h"
29
30
-void hmp_hostfwd_add(Monitor *mon, const QDict *qdict);
31
-void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict);
30
+void hmp_hostfwd_add(MonitorHMP *hmp, const QDict *qdict);
31
+void hmp_hostfwd_remove(MonitorHMP *hmp, const QDict *qdict);
32
33
-void hmp_info_usernet(Monitor *mon, const QDict *qdict);
33
+void hmp_info_usernet(MonitorHMP *hmp, const QDict *qdict);
34
35
#endif
36
migration/dirtyrate.c
+4
-2
@@ -856,8 +856,9 @@ struct DirtyRateInfo *qmp_query_dirty_rate(bool has_calc_time_unit,
856
has_calc_time_unit ? calc_time_unit : TIME_UNIT_SECOND);
857
}
858
859
-void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict)
859
+void hmp_info_dirty_rate(MonitorHMP *hmp, const QDict *qdict)
860
{
861
+ Monitor *mon = MONITOR(hmp);
862
DirtyRateInfo *info = query_dirty_rate_info(TIME_UNIT_SECOND);
863
864
monitor_printf(mon, "Status: %s\n",
@@ -891,8 +892,9 @@ void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict)
892
g_free(info);
893
}
894
894
-void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict)
895
+void hmp_calc_dirty_rate(MonitorHMP *hmp, const QDict *qdict)
896
{
897
+ Monitor *mon = MONITOR(hmp);
898
int64_t sec = qdict_get_try_int(qdict, "second", 0);
899
int64_t sample_pages = qdict_get_try_int(qdict, "sample_pages_per_GB", -1);
900
bool has_sample_pages = (sample_pages != -1);
migration/migration-hmp-cmds.c
+31
-17
@@ -135,8 +135,9 @@ static void migration_dump_blocktime(Monitor *mon, MigrationInfo *info)
135
}
136
}
137
138
-void hmp_info_migrate(Monitor *mon, const QDict *qdict)
138
+void hmp_info_migrate(MonitorHMP *hmp, const QDict *qdict)
139
{
140
+ Monitor *mon = MONITOR(hmp);
141
bool show_all = qdict_get_try_bool(qdict, "all", false);
142
MigrationInfo *info;
143
@@ -297,8 +298,9 @@ out:
298
qapi_free_MigrationInfo(info);
299
}
300
300
-void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict)
301
+void hmp_info_migrate_capabilities(MonitorHMP *hmp, const QDict *qdict)
302
{
303
+ Monitor *mon = MONITOR(hmp);
304
MigrationCapabilityStatusList *caps, *cap;
305
306
caps = qmp_query_migrate_capabilities(NULL);
@@ -326,8 +328,9 @@ static void monitor_print_cpr_exec_command(Monitor *mon, strList *args)
328
monitor_printf(mon, "\n");
329
}
330
329
-void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
331
+void hmp_info_migrate_parameters(MonitorHMP *hmp, const QDict *qdict)
332
{
333
+ Monitor *mon = MONITOR(hmp);
334
MigrationParameters *params;
335
MigrationState *s = migrate_get_current();
336
@@ -473,8 +476,9 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
476
qapi_free_MigrationParameters(params);
477
}
478
476
-void hmp_loadvm(Monitor *mon, const QDict *qdict)
479
+void hmp_loadvm(MonitorHMP *hmp, const QDict *qdict)
480
{
481
+ Monitor *mon = MONITOR(hmp);
482
RunState saved_state = runstate_get();
483
484
const char *name = qdict_get_str(qdict, "name");
@@ -489,8 +493,9 @@ void hmp_loadvm(Monitor *mon, const QDict *qdict)
493
hmp_handle_error(mon, err);
494
}
495
492
-void hmp_savevm(Monitor *mon, const QDict *qdict)
496
+void hmp_savevm(MonitorHMP *hmp, const QDict *qdict)
497
{
498
+ Monitor *mon = MONITOR(hmp);
499
Error *err = NULL;
500
501
save_snapshot(qdict_get_try_str(qdict, "name"),
@@ -498,8 +503,9 @@ void hmp_savevm(Monitor *mon, const QDict *qdict)
503
hmp_handle_error(mon, err);
504
}
505
501
-void hmp_delvm(Monitor *mon, const QDict *qdict)
506
+void hmp_delvm(MonitorHMP *hmp, const QDict *qdict)
507
{
508
+ Monitor *mon = MONITOR(hmp);
509
Error *err = NULL;
510
const char *name = qdict_get_str(qdict, "name");
511
@@ -507,13 +513,14 @@ void hmp_delvm(Monitor *mon, const QDict *qdict)
513
hmp_handle_error(mon, err);
514
}
515
510
-void hmp_migrate_cancel(Monitor *mon, const QDict *qdict)
516
+void hmp_migrate_cancel(MonitorHMP *hmp, const QDict *qdict)
517
{
518
qmp_migrate_cancel(NULL);
519
}
520
515
-void hmp_migrate_continue(Monitor *mon, const QDict *qdict)
521
+void hmp_migrate_continue(MonitorHMP *hmp, const QDict *qdict)
522
{
523
+ Monitor *mon = MONITOR(hmp);
524
Error *err = NULL;
525
const char *state = qdict_get_str(qdict, "state");
526
int val = qapi_enum_parse(&MigrationStatus_lookup, state, -1, &err);
@@ -525,8 +532,9 @@ void hmp_migrate_continue(Monitor *mon, const QDict *qdict)
532
hmp_handle_error(mon, err);
533
}
534
528
-void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
535
+void hmp_migrate_incoming(MonitorHMP *hmp, const QDict *qdict)
536
{
537
+ Monitor *mon = MONITOR(hmp);
538
Error *err = NULL;
539
const char *uri = qdict_get_str(qdict, "uri");
540
MigrationChannelList *caps = NULL;
@@ -544,8 +552,9 @@ end:
552
hmp_handle_error(mon, err);
553
}
554
547
-void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
555
+void hmp_migrate_recover(MonitorHMP *hmp, const QDict *qdict)
556
{
557
+ Monitor *mon = MONITOR(hmp);
558
Error *err = NULL;
559
const char *uri = qdict_get_str(qdict, "uri");
560
@@ -554,8 +563,9 @@ void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
563
hmp_handle_error(mon, err);
564
}
565
557
-void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
566
+void hmp_migrate_pause(MonitorHMP *hmp, const QDict *qdict)
567
{
568
+ Monitor *mon = MONITOR(hmp);
569
Error *err = NULL;
570
571
qmp_migrate_pause(&err);
@@ -564,8 +574,9 @@ void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
574
}
575
576
567
-void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict)
577
+void hmp_migrate_set_capability(MonitorHMP *hmp, const QDict *qdict)
578
{
579
+ Monitor *mon = MONITOR(hmp);
580
const char *cap = qdict_get_str(qdict, "capability");
581
bool state = qdict_get_bool(qdict, "state");
582
Error *err = NULL;
@@ -589,8 +600,9 @@ end:
600
hmp_handle_error(mon, err);
601
}
602
592
-void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
603
+void hmp_migrate_set_parameter(MonitorHMP *hmp, const QDict *qdict)
604
{
605
+ Monitor *mon = MONITOR(hmp);
606
const char *param = qdict_get_str(qdict, "parameter");
607
const char *valuestr = qdict_get_str(qdict, "value");
608
Visitor *v = string_input_visitor_new(valuestr);
@@ -790,16 +802,18 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
802
hmp_handle_error(mon, err);
803
}
804
793
-void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict)
805
+void hmp_migrate_start_postcopy(MonitorHMP *hmp, const QDict *qdict)
806
{
807
+ Monitor *mon = MONITOR(hmp);
808
Error *err = NULL;
809
qmp_migrate_start_postcopy(&err);
810
hmp_handle_error(mon, err);
811
}
812
813
#ifdef CONFIG_REPLICATION
801
-void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict)
814
+void hmp_x_colo_lost_heartbeat(MonitorHMP *hmp, const QDict *qdict)
815
{
816
+ Monitor *mon = MONITOR(hmp);
817
Error *err = NULL;
818
819
qmp_x_colo_lost_heartbeat(&err);
@@ -833,8 +847,9 @@ static void hmp_migrate_status_cb(void *opaque)
847
qapi_free_MigrationInfo(info);
848
}
849
836
-void hmp_migrate(Monitor *mon, const QDict *qdict)
850
+void hmp_migrate(MonitorHMP *hmp, const QDict *qdict)
851
{
852
+ Monitor *mon = MONITOR(hmp);
853
bool detach = qdict_get_try_bool(qdict, "detach", false);
854
bool resume = qdict_get_try_bool(qdict, "resume", false);
855
const char *uri = qdict_get_str(qdict, "uri");
@@ -873,7 +888,6 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
888
889
if (!detach) {
890
HMPMigrationStatus *status;
876
- MonitorHMP *hmp = MONITOR_HMP(mon);
891
892
if (!hmp->use_readline) {
893
monitor_printf(mon, "terminal does not allow synchronous "
monitor/hmp-cmds.c
+61
-35
@@ -103,8 +103,9 @@ strList *hmp_split_at_comma(const char *str)
103
return res;
104
}
105
106
-void hmp_info_name(Monitor *mon, const QDict *qdict)
106
+void hmp_info_name(MonitorHMP *hmp, const QDict *qdict)
107
{
108
+ Monitor *mon = MONITOR(hmp);
109
NameInfo *info;
110
111
info = qmp_query_name(NULL);
@@ -114,8 +115,9 @@ void hmp_info_name(Monitor *mon, const QDict *qdict)
115
qapi_free_NameInfo(info);
116
}
117
117
-void hmp_info_version(Monitor *mon, const QDict *qdict)
118
+void hmp_info_version(MonitorHMP *hmp, const QDict *qdict)
119
{
120
+ Monitor *mon = MONITOR(hmp);
121
VersionInfo *info;
122
123
info = qmp_query_version(NULL);
@@ -127,22 +129,23 @@ void hmp_info_version(Monitor *mon, const QDict *qdict)
129
qapi_free_VersionInfo(info);
130
}
131
130
-void hmp_quit(Monitor *mon, const QDict *qdict)
132
+void hmp_quit(MonitorHMP *hmp, const QDict *qdict)
133
{
132
- MonitorHMP *hmp = MONITOR_HMP(mon);
134
+ Monitor *mon = MONITOR(hmp);
135
if (hmp->use_readline) {
136
monitor_suspend(mon);
137
}
138
qmp_quit(NULL);
139
}
140
139
-void hmp_stop(Monitor *mon, const QDict *qdict)
141
+void hmp_stop(MonitorHMP *hmp, const QDict *qdict)
142
{
143
qmp_stop(NULL);
144
}
145
144
-void hmp_sync_profile(Monitor *mon, const QDict *qdict)
146
+void hmp_sync_profile(MonitorHMP *hmp, const QDict *qdict)
147
{
148
+ Monitor *mon = MONITOR(hmp);
149
const char *op = qdict_get_try_str(qdict, "op");
150
151
if (op == NULL) {
@@ -166,16 +169,18 @@ void hmp_sync_profile(Monitor *mon, const QDict *qdict)
169
}
170
}
171
169
-void hmp_exit_preconfig(Monitor *mon, const QDict *qdict)
172
+void hmp_exit_preconfig(MonitorHMP *hmp, const QDict *qdict)
173
{
174
+ Monitor *mon = MONITOR(hmp);
175
Error *err = NULL;
176
177
qmp_x_exit_preconfig(&err);
178
hmp_handle_error(mon, err);
179
}
180
177
-void hmp_cpu(Monitor *mon, const QDict *qdict)
181
+void hmp_cpu(MonitorHMP *hmp, const QDict *qdict)
182
{
183
+ Monitor *mon = MONITOR(hmp);
184
int64_t cpu_index;
185
186
/* XXX: drop the monitor_set_cpu() usage when all HMP commands that
@@ -186,16 +191,18 @@ void hmp_cpu(Monitor *mon, const QDict *qdict)
191
}
192
}
193
189
-void hmp_cont(Monitor *mon, const QDict *qdict)
194
+void hmp_cont(MonitorHMP *hmp, const QDict *qdict)
195
{
196
+ Monitor *mon = MONITOR(hmp);
197
Error *err = NULL;
198
199
qmp_cont(&err);
200
hmp_handle_error(mon, err);
201
}
202
197
-void hmp_change(Monitor *mon, const QDict *qdict)
203
+void hmp_change(MonitorHMP *hmp, const QDict *qdict)
204
{
205
+ Monitor *mon = MONITOR(hmp);
206
const char *device = qdict_get_str(qdict, "device");
207
const char *target = qdict_get_str(qdict, "target");
208
const char *arg = qdict_get_try_str(qdict, "arg");
@@ -216,8 +223,9 @@ void hmp_change(Monitor *mon, const QDict *qdict)
223
}
224
225
#ifdef CONFIG_POSIX
219
-void hmp_getfd(Monitor *mon, const QDict *qdict)
226
+void hmp_getfd(MonitorHMP *hmp, const QDict *qdict)
227
{
228
+ Monitor *mon = MONITOR(hmp);
229
const char *fdname = qdict_get_str(qdict, "fdname");
230
Error *err = NULL;
231
@@ -226,8 +234,9 @@ void hmp_getfd(Monitor *mon, const QDict *qdict)
234
}
235
#endif
236
229
-void hmp_closefd(Monitor *mon, const QDict *qdict)
237
+void hmp_closefd(MonitorHMP *hmp, const QDict *qdict)
238
{
239
+ Monitor *mon = MONITOR(hmp);
240
const char *fdname = qdict_get_str(qdict, "fdname");
241
Error *err = NULL;
242
@@ -235,8 +244,9 @@ void hmp_closefd(Monitor *mon, const QDict *qdict)
244
hmp_handle_error(mon, err);
245
}
246
238
-void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
247
+void hmp_info_iothreads(MonitorHMP *hmp, const QDict *qdict)
248
{
249
+ Monitor *mon = MONITOR(hmp);
250
IOThreadInfoList *info_list = qmp_query_iothreads(NULL);
251
IOThreadInfoList *info;
252
IOThreadInfo *value;
@@ -256,13 +266,15 @@ void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
266
qapi_free_IOThreadInfoList(info_list);
267
}
268
259
-void hmp_help(Monitor *mon, const QDict *qdict)
269
+void hmp_help(MonitorHMP *hmp, const QDict *qdict)
270
{
271
+ Monitor *mon = MONITOR(hmp);
272
hmp_help_cmd(mon, qdict_get_try_str(qdict, "name"));
273
}
274
264
-void hmp_clear(Monitor *mon, const QDict *qdict)
275
+void hmp_clear(MonitorHMP *hmp, const QDict *qdict)
276
{
277
+ Monitor *mon = MONITOR(hmp);
278
/*
279
* Send an ANSI escape sequence:
280
* "\x1b[H" - move cursor to top-left
@@ -272,12 +284,13 @@ void hmp_clear(Monitor *mon, const QDict *qdict)
284
monitor_printf(mon, "\x1b[H\x1b[2J\x1b[3J");
285
}
286
275
-void hmp_info_help(Monitor *mon, const QDict *qdict)
287
+void hmp_info_help(MonitorHMP *hmp, const QDict *qdict)
288
{
289
+ Monitor *mon = MONITOR(hmp);
290
hmp_help_cmd(mon, "info");
291
}
292
280
-void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
293
+void hmp_info_sync_profile(MonitorHMP *hmp, const QDict *qdict)
294
{
295
int64_t max = qdict_get_try_int(qdict, "max", 10);
296
bool mean = qdict_get_try_bool(qdict, "mean", false);
@@ -288,9 +301,9 @@ void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
301
qsp_report(max, sort_by, coalesce);
302
}
303
291
-void hmp_info_history(Monitor *mon, const QDict *qdict)
304
+void hmp_info_history(MonitorHMP *hmp, const QDict *qdict)
305
{
293
- MonitorHMP *hmp = MONITOR_HMP(mon);
306
+ Monitor *mon = MONITOR(hmp);
307
int i;
308
const char *str;
309
@@ -308,7 +321,7 @@ void hmp_info_history(Monitor *mon, const QDict *qdict)
321
}
322
}
323
311
-void hmp_logfile(Monitor *mon, const QDict *qdict)
324
+void hmp_logfile(MonitorHMP *hmp, const QDict *qdict)
325
{
326
Error *err = NULL;
327
@@ -317,8 +330,9 @@ void hmp_logfile(Monitor *mon, const QDict *qdict)
330
}
331
}
332
320
-void hmp_log(Monitor *mon, const QDict *qdict)
333
+void hmp_log(MonitorHMP *hmp, const QDict *qdict)
334
{
335
+ Monitor *mon = MONITOR(hmp);
336
int mask;
337
const char *items = qdict_get_str(qdict, "items");
338
Error *err = NULL;
@@ -338,8 +352,9 @@ void hmp_log(Monitor *mon, const QDict *qdict)
352
}
353
}
354
341
-void hmp_gdbserver(Monitor *mon, const QDict *qdict)
355
+void hmp_gdbserver(MonitorHMP *hmp, const QDict *qdict)
356
{
357
+ Monitor *mon = MONITOR(hmp);
358
Error *err = NULL;
359
const char *device = qdict_get_try_str(qdict, "device");
360
@@ -357,8 +372,9 @@ void hmp_gdbserver(Monitor *mon, const QDict *qdict)
372
}
373
}
374
360
-void hmp_print(Monitor *mon, const QDict *qdict)
375
+void hmp_print(MonitorHMP *hmp, const QDict *qdict)
376
{
377
+ Monitor *mon = MONITOR(hmp);
378
int format = qdict_get_int(qdict, "format");
379
hwaddr val = qdict_get_int(qdict, "val");
380
@@ -383,8 +399,9 @@ void hmp_print(Monitor *mon, const QDict *qdict)
399
monitor_printf(mon, "\n");
400
}
401
386
-void hmp_sum(Monitor *mon, const QDict *qdict)
402
+void hmp_sum(MonitorHMP *hmp, const QDict *qdict)
403
{
404
+ Monitor *mon = MONITOR(hmp);
405
uint32_t addr;
406
uint16_t sum;
407
uint32_t start = qdict_get_int(qdict, "start");
@@ -401,8 +418,9 @@ void hmp_sum(Monitor *mon, const QDict *qdict)
418
monitor_printf(mon, "%05d\n", sum);
419
}
420
404
-void hmp_ioport_read(Monitor *mon, const QDict *qdict)
421
+void hmp_ioport_read(MonitorHMP *hmp, const QDict *qdict)
422
{
423
+ Monitor *mon = MONITOR(hmp);
424
int size = qdict_get_int(qdict, "size");
425
int addr = qdict_get_int(qdict, "addr");
426
int has_index = qdict_haskey(qdict, "index");
@@ -435,7 +453,7 @@ void hmp_ioport_read(Monitor *mon, const QDict *qdict)
453
suffix, addr, size * 2, val);
454
}
455
438
-void hmp_ioport_write(Monitor *mon, const QDict *qdict)
456
+void hmp_ioport_write(MonitorHMP *hmp, const QDict *qdict)
457
{
458
int size = qdict_get_int(qdict, "size");
459
int addr = qdict_get_int(qdict, "addr");
@@ -457,8 +475,9 @@ void hmp_ioport_write(Monitor *mon, const QDict *qdict)
475
}
476
}
477
460
-void hmp_boot_set(Monitor *mon, const QDict *qdict)
478
+void hmp_boot_set(MonitorHMP *hmp, const QDict *qdict)
479
{
480
+ Monitor *mon = MONITOR(hmp);
481
Error *local_err = NULL;
482
const char *bootdevice = qdict_get_str(qdict, "bootdevice");
483
@@ -470,7 +489,7 @@ void hmp_boot_set(Monitor *mon, const QDict *qdict)
489
}
490
}
491
473
-void hmp_info_mtree(Monitor *mon, const QDict *qdict)
492
+void hmp_info_mtree(MonitorHMP *hmp, const QDict *qdict)
493
{
494
bool flatview = qdict_get_try_bool(qdict, "flatview", false);
495
bool dispatch_tree = qdict_get_try_bool(qdict, "dispatch_tree", false);
@@ -481,8 +500,9 @@ void hmp_info_mtree(Monitor *mon, const QDict *qdict)
500
}
501
502
#if defined(CONFIG_FDT)
484
-void hmp_dumpdtb(Monitor *mon, const QDict *qdict)
503
+void hmp_dumpdtb(MonitorHMP *hmp, const QDict *qdict)
504
{
505
+ Monitor *mon = MONITOR(hmp);
506
const char *filename = qdict_get_str(qdict, "filename");
507
Error *local_err = NULL;
508
@@ -558,8 +578,9 @@ int monitor_get_cpu_index(Monitor *mon)
578
return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX;
579
}
580
561
-void hmp_info_registers(Monitor *mon, const QDict *qdict)
581
+void hmp_info_registers(MonitorHMP *hmp, const QDict *qdict)
582
{
583
+ Monitor *mon = MONITOR(hmp);
584
bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false);
585
int vcpu = qdict_get_try_int(qdict, "vcpu", -1);
586
CPUState *cs;
@@ -694,8 +715,9 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize,
715
}
716
}
717
697
-void hmp_memory_dump(Monitor *mon, const QDict *qdict)
718
+void hmp_memory_dump(MonitorHMP *hmp, const QDict *qdict)
719
{
720
+ Monitor *mon = MONITOR(hmp);
721
int count = qdict_get_int(qdict, "count");
722
int format = qdict_get_int(qdict, "format");
723
int size = qdict_get_int(qdict, "size");
@@ -704,8 +726,9 @@ void hmp_memory_dump(Monitor *mon, const QDict *qdict)
726
memory_dump(mon, count, format, size, addr, false);
727
}
728
707
-void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict)
729
+void hmp_physical_memory_dump(MonitorHMP *hmp, const QDict *qdict)
730
{
731
+ Monitor *mon = MONITOR(hmp);
732
int count = qdict_get_int(qdict, "count");
733
int format = qdict_get_int(qdict, "format");
734
int size = qdict_get_int(qdict, "size");
@@ -714,8 +737,9 @@ void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict)
737
memory_dump(mon, count, format, size, addr, true);
738
}
739
717
-void hmp_gpa2hva(Monitor *mon, const QDict *qdict)
740
+void hmp_gpa2hva(MonitorHMP *hmp, const QDict *qdict)
741
{
742
+ Monitor *mon = MONITOR(hmp);
743
hwaddr addr = qdict_get_int(qdict, "addr");
744
Error *local_err = NULL;
745
MemoryRegion *mr = NULL;
@@ -734,8 +758,9 @@ void hmp_gpa2hva(Monitor *mon, const QDict *qdict)
758
memory_region_unref(mr);
759
}
760
737
-void hmp_gva2gpa(Monitor *mon, const QDict *qdict)
761
+void hmp_gva2gpa(MonitorHMP *hmp, const QDict *qdict)
762
{
763
+ Monitor *mon = MONITOR(hmp);
764
vaddr addr = qdict_get_int(qdict, "addr");
765
CPUState *cs = mon_get_cpu(mon);
766
TranslateForDebugResult tres;
@@ -787,8 +812,9 @@ out:
812
return ret;
813
}
814
790
-void hmp_gpa2hpa(Monitor *mon, const QDict *qdict)
815
+void hmp_gpa2hpa(MonitorHMP *hmp, const QDict *qdict)
816
{
817
+ Monitor *mon = MONITOR(hmp);
818
hwaddr addr = qdict_get_int(qdict, "addr");
819
Error *local_err = NULL;
820
MemoryRegion *mr = NULL;
monitor/hmp.c
+8
-9
@@ -1228,12 +1228,12 @@ static void hmp_info_human_readable_text(Monitor *mon,
1228
monitor_puts(mon, info->human_readable_text);
1229
}
1230
1231
-static void handle_hmp_command_exec(Monitor *mon,
1231
+static void handle_hmp_command_exec(MonitorHMP *mon,
1232
const HMPCommand *cmd,
1233
QDict *qdict)
1234
{
1235
if (cmd->cmd_info_hrt) {
1236
- hmp_info_human_readable_text(mon,
1236
+ hmp_info_human_readable_text(MONITOR(mon),
1237
cmd->cmd_info_hrt);
1238
} else {
1239
cmd->cmd(mon, qdict);
@@ -1241,7 +1241,7 @@ static void handle_hmp_command_exec(Monitor *mon,
1241
}
1242
1243
typedef struct HandleHmpCommandCo {
1244
- Monitor *mon;
1244
+ MonitorHMP *mon;
1245
const HMPCommand *cmd;
1246
QDict *qdict;
1247
bool done;
@@ -1289,19 +1289,18 @@ void handle_hmp_command(MonitorHMP *hmp, const char *cmdline)
1289
1290
if (!cmd->coroutine) {
1291
/* old_mon is non-NULL when called from qmp_human_monitor_command() */
1292
- Monitor *old_mon = monitor_set_cur(qemu_coroutine_self(),
1293
- &hmp->parent_obj);
1294
- handle_hmp_command_exec(&hmp->parent_obj, cmd, qdict);
1292
+ Monitor *old_mon = monitor_set_cur(qemu_coroutine_self(), MONITOR(hmp));
1293
+ handle_hmp_command_exec(hmp, cmd, qdict);
1294
monitor_set_cur(qemu_coroutine_self(), old_mon);
1295
} else {
1296
HandleHmpCommandCo data = {
1298
- .mon = &hmp->parent_obj,
1297
+ .mon = hmp,
1298
.cmd = cmd,
1299
.qdict = qdict,
1300
.done = false,
1301
};
1302
Coroutine *co = qemu_coroutine_create(handle_hmp_command_co, &data);
1304
- monitor_set_cur(co, &hmp->parent_obj);
1303
+ monitor_set_cur(co, MONITOR(hmp));
1304
aio_co_enter(qemu_get_aio_context(), co);
1305
AIO_WAIT_WHILE_UNLOCKED(NULL, !data.done);
1306
}
@@ -1689,7 +1688,7 @@ int hmp_compare_cmd(const char *name, const char *list)
1688
}
1689
1690
void monitor_register_hmp(const char *name, bool info,
1692
- void (*cmd)(Monitor *mon, const QDict *qdict))
1691
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict))
1692
{
1693
HMPCommand *table = hmp_cmds_for_target(info);
1694
monitor/monitor-internal.h
+1
-1
@@ -77,7 +77,7 @@ typedef struct HMPCommand {
77
const char *params;
78
const char *help;
79
const char *flags; /* p=preconfig */
80
- void (*cmd)(Monitor *mon, const QDict *qdict);
80
+ void (*cmd)(MonitorHMP *mon, const QDict *qdict);
81
/*
82
* If implementing a command that takes no arguments and simply
83
* prints formatted data, then leave @cmd NULL, and then set
net/net-hmp-cmds.c
+9
-5
@@ -45,8 +45,9 @@ static void hmp_print_client_info(Monitor *mon, NetworkClientInfo *ci)
45
}
46
}
47
48
-void hmp_info_network(Monitor *mon, const QDict *qdict)
48
+void hmp_info_network(MonitorHMP *hmp, const QDict *qdict)
49
{
50
+ Monitor *mon = MONITOR(hmp);
51
Error *err = NULL;
52
g_autoptr(NetworkInfo) info = qmp_x_query_network(&err);
53
NetHubInfoList *h;
@@ -83,8 +84,9 @@ void hmp_info_network(Monitor *mon, const QDict *qdict)
84
}
85
}
86
86
-void hmp_set_link(Monitor *mon, const QDict *qdict)
87
+void hmp_set_link(MonitorHMP *hmp, const QDict *qdict)
88
{
89
+ Monitor *mon = MONITOR(hmp);
90
const char *name = qdict_get_str(qdict, "name");
91
bool up = qdict_get_bool(qdict, "up");
92
Error *err = NULL;
@@ -94,7 +96,7 @@ void hmp_set_link(Monitor *mon, const QDict *qdict)
96
}
97
98
97
-void hmp_announce_self(Monitor *mon, const QDict *qdict)
99
+void hmp_announce_self(MonitorHMP *hmp, const QDict *qdict)
100
{
101
const char *interfaces_str = qdict_get_try_str(qdict, "interfaces");
102
const char *id = qdict_get_try_str(qdict, "id");
@@ -109,8 +111,9 @@ void hmp_announce_self(Monitor *mon, const QDict *qdict)
111
qapi_free_AnnounceParameters(params);
112
}
113
112
-void hmp_netdev_add(Monitor *mon, const QDict *qdict)
114
+void hmp_netdev_add(MonitorHMP *hmp, const QDict *qdict)
115
{
116
+ Monitor *mon = MONITOR(hmp);
117
Error *err = NULL;
118
QemuOpts *opts;
119
const char *type = qdict_get_try_str(qdict, "type");
@@ -133,8 +136,9 @@ out:
136
hmp_handle_error(mon, err);
137
}
138
136
-void hmp_netdev_del(Monitor *mon, const QDict *qdict)
139
+void hmp_netdev_del(MonitorHMP *hmp, const QDict *qdict)
140
{
141
+ Monitor *mon = MONITOR(hmp);
142
const char *id = qdict_get_str(qdict, "id");
143
Error *err = NULL;
144
net/slirp.c
+6
-3
@@ -733,8 +733,9 @@ static SlirpState *slirp_lookup(Monitor *mon, const char *id)
733
}
734
}
735
736
-void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict)
736
+void hmp_hostfwd_remove(MonitorHMP *hmp, const QDict *qdict)
737
{
738
+ Monitor *mon = MONITOR(hmp);
739
/* TODO: support removing unix fwd */
740
struct sockaddr_in host_addr = {
741
.sin_family = AF_INET,
@@ -957,8 +958,9 @@ static int slirp_hostfwd(SlirpState *s, const char *redir_str, Error **errp)
958
return -1;
959
}
960
960
-void hmp_hostfwd_add(Monitor *mon, const QDict *qdict)
961
+void hmp_hostfwd_add(MonitorHMP *hmp, const QDict *qdict)
962
{
963
+ Monitor *mon = MONITOR(hmp);
964
const char *redir_str;
965
SlirpState *s;
966
const char *arg1 = qdict_get_str(qdict, "arg1");
@@ -1224,8 +1226,9 @@ UsernetInfoList *qmp_x_query_usernet(Error **errp)
1226
return head;
1227
}
1228
1227
-void hmp_info_usernet(Monitor *mon, const QDict *qdict)
1229
+void hmp_info_usernet(MonitorHMP *hmp, const QDict *qdict)
1230
{
1231
+ Monitor *mon = MONITOR(hmp);
1232
g_autoptr(UsernetInfoList) list = NULL;
1233
UsernetInfoList *entry;
1234
qom/qom-hmp-cmds.c
+12
-6
@@ -18,8 +18,9 @@
18
#include "qom/object.h"
19
#include "qom/object_interfaces.h"
20
21
-void hmp_qom_list(Monitor *mon, const QDict *qdict)
21
+void hmp_qom_list(MonitorHMP *hmp, const QDict *qdict)
22
{
23
+ Monitor *mon = MONITOR(hmp);
24
const char *path = qdict_get_try_str(qdict, "path");
25
ObjectPropertyInfoList *list;
26
Error *err = NULL;
@@ -44,8 +45,9 @@ void hmp_qom_list(Monitor *mon, const QDict *qdict)
45
hmp_handle_error(mon, err);
46
}
47
47
-void hmp_qom_set(Monitor *mon, const QDict *qdict)
48
+void hmp_qom_set(MonitorHMP *hmp, const QDict *qdict)
49
{
50
+ Monitor *mon = MONITOR(hmp);
51
const bool json = qdict_get_try_bool(qdict, "json", false);
52
const char *path = qdict_get_str(qdict, "path");
53
const char *property = qdict_get_str(qdict, "property");
@@ -72,8 +74,9 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict)
74
hmp_handle_error(mon, err);
75
}
76
75
-void hmp_qom_get(Monitor *mon, const QDict *qdict)
77
+void hmp_qom_get(MonitorHMP *hmp, const QDict *qdict)
78
{
79
+ Monitor *mon = MONITOR(hmp);
80
const char *path = qdict_get_str(qdict, "path");
81
const char *property = qdict_get_str(qdict, "property");
82
Error *err = NULL;
@@ -132,8 +135,9 @@ static void print_qom_composition(Monitor *mon, Object *obj, int indent)
135
g_array_free(children, TRUE);
136
}
137
135
-void hmp_info_qom_tree(Monitor *mon, const QDict *dict)
138
+void hmp_info_qom_tree(MonitorHMP *hmp, const QDict *dict)
139
{
140
+ Monitor *mon = MONITOR(hmp);
141
const char *path = qdict_get_try_str(dict, "path");
142
Object *obj;
143
bool ambiguous = false;
@@ -154,8 +158,9 @@ void hmp_info_qom_tree(Monitor *mon, const QDict *dict)
158
print_qom_composition(mon, obj, 0);
159
}
160
157
-void hmp_object_add(Monitor *mon, const QDict *qdict)
161
+void hmp_object_add(MonitorHMP *hmp, const QDict *qdict)
162
{
163
+ Monitor *mon = MONITOR(hmp);
164
const char *options = qdict_get_str(qdict, "object");
165
Error *err = NULL;
166
@@ -163,8 +168,9 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
168
hmp_handle_error(mon, err);
169
}
170
166
-void hmp_object_del(Monitor *mon, const QDict *qdict)
171
+void hmp_object_del(MonitorHMP *hmp, const QDict *qdict)
172
{
173
+ Monitor *mon = MONITOR(hmp);
174
const char *id = qdict_get_str(qdict, "id");
175
Error *err = NULL;
176
replay/replay-debugging.c
+5
-4
@@ -31,8 +31,9 @@ bool replay_running_debug(void)
31
return replay_is_debugging;
32
}
33
34
-void hmp_info_replay(Monitor *mon, const QDict *qdict)
34
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict)
35
{
36
+ Monitor *mon = MONITOR(hmp);
37
if (replay_mode == REPLAY_MODE_NONE) {
38
monitor_printf(mon, "Record/replay is not active\n");
39
} else {
@@ -103,7 +104,7 @@ void qmp_replay_break(int64_t icount, Error **errp)
104
}
105
}
106
106
-void hmp_replay_break(Monitor *mon, const QDict *qdict)
107
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict)
108
{
109
int64_t icount = qdict_get_try_int(qdict, "icount", -1LL);
110
Error *err = NULL;
@@ -124,7 +125,7 @@ void qmp_replay_delete_break(Error **errp)
125
}
126
}
127
127
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict)
128
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict)
129
{
130
Error *err = NULL;
131
@@ -209,7 +210,7 @@ void qmp_replay_seek(int64_t icount, Error **errp)
210
replay_seek(icount, replay_stop_vm, errp);
211
}
212
212
-void hmp_replay_seek(Monitor *mon, const QDict *qdict)
213
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict)
214
{
215
int64_t icount = qdict_get_try_int(qdict, "icount", -1LL);
216
Error *err = NULL;
replay/stubs-system.c
+4
-4
@@ -63,19 +63,19 @@ void replay_vmstate_init(void)
63
#include "qapi/error.h"
64
#include "qemu/error-report.h"
65
66
-void hmp_info_replay(Monitor *mon, const QDict *qdict)
66
+void hmp_info_replay(MonitorHMP *hmp, const QDict *qdict)
67
{
68
error_report("replay support not available");
69
}
70
-void hmp_replay_break(Monitor *mon, const QDict *qdict)
70
+void hmp_replay_break(MonitorHMP *hmp, const QDict *qdict)
71
{
72
error_report("replay support not available");
73
}
74
-void hmp_replay_delete_break(Monitor *mon, const QDict *qdict)
74
+void hmp_replay_delete_break(MonitorHMP *hmp, const QDict *qdict)
75
{
76
error_report("replay support not available");
77
}
78
-void hmp_replay_seek(Monitor *mon, const QDict *qdict)
78
+void hmp_replay_seek(MonitorHMP *hmp, const QDict *qdict)
79
{
80
error_report("replay support not available");
81
}
stats/stats-hmp-cmds.c
+2
-1
@@ -187,8 +187,9 @@ static StatsFilter *stats_filter(StatsTarget target, const char *names,
187
return filter;
188
}
189
190
-void hmp_info_stats(Monitor *mon, const QDict *qdict)
190
+void hmp_info_stats(MonitorHMP *hmp, const QDict *qdict)
191
{
192
+ Monitor *mon = MONITOR(hmp);
193
const char *target_str = qdict_get_str(qdict, "target");
194
const char *provider_str = qdict_get_try_str(qdict, "provider");
195
const char *names = qdict_get_try_str(qdict, "names");
stubs/hmp-cmd-info_sev.c
+2
-1
@@ -10,7 +10,8 @@
10
#include "monitor/hmp.h"
11
#include "monitor/monitor.h"
12
13
-void hmp_info_sev(Monitor *mon, const QDict *qdict)
13
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict)
14
{
15
+ Monitor *mon = MONITOR(hmp);
16
monitor_printf(mon, "SEV is not available in this QEMU\n");
17
}
system/dirtylimit-hmp-cmds.c
+6
-3
@@ -15,8 +15,9 @@
15
#include "monitor/monitor.h"
16
#include "system/dirtylimit.h"
17
18
-void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
18
+void hmp_cancel_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
19
{
20
+ Monitor *mon = MONITOR(hmp);
21
int64_t cpu_index = qdict_get_try_int(qdict, "cpu_index", -1);
22
Error *err = NULL;
23
@@ -30,8 +31,9 @@ void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
31
"dirty limit for virtual CPU]\n");
32
}
33
33
-void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
34
+void hmp_set_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
35
{
36
+ Monitor *mon = MONITOR(hmp);
37
int64_t dirty_rate = qdict_get_int(qdict, "dirty_rate");
38
int64_t cpu_index = qdict_get_try_int(qdict, "cpu_index", -1);
39
Error *err = NULL;
@@ -47,8 +49,9 @@ out:
49
hmp_handle_error(mon, err);
50
}
51
50
-void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
52
+void hmp_info_vcpu_dirty_limit(MonitorHMP *hmp, const QDict *qdict)
53
{
54
+ Monitor *mon = MONITOR(hmp);
55
DirtyLimitInfoList *info;
56
g_autoptr(DirtyLimitInfoList) head = NULL;
57
Error *err = NULL;
system/qdev-monitor.c
+7
-4
@@ -851,8 +851,9 @@ static void qbus_print(Monitor *mon, BusState *bus, int indent, bool details)
851
}
852
#undef qdev_printf
853
854
-void hmp_info_qtree(Monitor *mon, const QDict *qdict)
854
+void hmp_info_qtree(MonitorHMP *hmp, const QDict *qdict)
855
{
856
+ Monitor *mon = MONITOR(hmp);
857
bool details = !qdict_get_try_bool(qdict, "brief", false);
858
859
if (sysbus_get_default()) {
@@ -860,7 +861,7 @@ void hmp_info_qtree(Monitor *mon, const QDict *qdict)
861
}
862
}
863
863
-void hmp_info_qdm(Monitor *mon, const QDict *qdict)
864
+void hmp_info_qdm(MonitorHMP *hmp, const QDict *qdict)
865
{
866
qdev_print_devinfos(true);
867
}
@@ -1001,8 +1002,9 @@ void qmp_device_sync_config(const char *id, Error **errp)
1002
qdev_sync_config(dev, errp);
1003
}
1004
1004
-void hmp_device_add(Monitor *mon, const QDict *qdict)
1005
+void hmp_device_add(MonitorHMP *hmp, const QDict *qdict)
1006
{
1007
+ Monitor *mon = MONITOR(hmp);
1008
Error *err = NULL;
1009
QemuOpts *opts;
1010
DeviceState *dev;
@@ -1035,8 +1037,9 @@ out:
1037
hmp_handle_error(mon, err);
1038
}
1039
1038
-void hmp_device_del(Monitor *mon, const QDict *qdict)
1040
+void hmp_device_del(MonitorHMP *hmp, const QDict *qdict)
1041
{
1042
+ Monitor *mon = MONITOR(hmp);
1043
const char *id = qdict_get_str(qdict, "id");
1044
Error *err = NULL;
1045
system/runstate-hmp-cmds.c
+6
-3
@@ -23,8 +23,9 @@
23
#include "qobject/qdict.h"
24
#include "qemu/accel.h"
25
26
-void hmp_info_status(Monitor *mon, const QDict *qdict)
26
+void hmp_info_status(MonitorHMP *hmp, const QDict *qdict)
27
{
28
+ Monitor *mon = MONITOR(hmp);
29
StatusInfo *info;
30
31
info = qmp_query_status(NULL);
@@ -41,8 +42,9 @@ void hmp_info_status(Monitor *mon, const QDict *qdict)
42
qapi_free_StatusInfo(info);
43
}
44
44
-void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict)
45
+void hmp_one_insn_per_tb(MonitorHMP *hmp, const QDict *qdict)
46
{
47
+ Monitor *mon = MONITOR(hmp);
48
const char *option = qdict_get_try_str(qdict, "option");
49
AccelState *accel = current_accel();
50
bool newval;
@@ -66,8 +68,9 @@ void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict)
68
newval, &error_abort);
69
}
70
69
-void hmp_watchdog_action(Monitor *mon, const QDict *qdict)
71
+void hmp_watchdog_action(MonitorHMP *hmp, const QDict *qdict)
72
{
73
+ Monitor *mon = MONITOR(hmp);
74
Error *err = NULL;
75
WatchdogAction action;
76
char *qapi_value;
system/tpm-hmp-cmds.c
+2
-1
@@ -11,8 +11,9 @@
11
#include "monitor/hmp.h"
12
#include "qapi/error.h"
13
14
-void hmp_info_tpm(Monitor *mon, const QDict *qdict)
14
+void hmp_info_tpm(MonitorHMP *hmp, const QDict *qdict)
15
{
16
+ Monitor *mon = MONITOR(hmp);
17
#ifdef CONFIG_TPM
18
TPMInfoList *info_list, *info;
19
Error *err = NULL;
target/i386/cpu-apic.c
+2
-1
@@ -83,8 +83,9 @@ void x86_cpu_apic_realize(X86CPU *cpu, Error **errp)
83
}
84
}
85
86
-void hmp_info_local_apic(Monitor *mon, const QDict *qdict)
86
+void hmp_info_local_apic(MonitorHMP *hmp, const QDict *qdict)
87
{
88
+ Monitor *mon = MONITOR(hmp);
89
CPUState *cs;
90
91
if (qdict_haskey(qdict, "apic-id")) {
target/i386/monitor.c
+6
-3
@@ -209,8 +209,9 @@ static void tlb_info_la57(Monitor *mon, CPUArchState *env, AddressSpace *as)
209
}
210
#endif /* TARGET_X86_64 */
211
212
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
212
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
213
{
214
+ Monitor *mon = MONITOR(hmp);
215
CPUArchState *env;
216
AddressSpace *as;
217
@@ -535,8 +536,9 @@ static void mem_info_la57(Monitor *mon, CPUArchState *env, AddressSpace *as)
536
}
537
#endif /* TARGET_X86_64 */
538
538
-void hmp_info_mem(Monitor *mon, const QDict *qdict)
539
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict)
540
{
541
+ Monitor *mon = MONITOR(hmp);
542
CPUArchState *env;
543
AddressSpace *as;
544
@@ -569,8 +571,9 @@ void hmp_info_mem(Monitor *mon, const QDict *qdict)
571
}
572
}
573
572
-void hmp_mce(Monitor *mon, const QDict *qdict)
574
+void hmp_mce(MonitorHMP *hmp, const QDict *qdict)
575
{
576
+ Monitor *mon = MONITOR(hmp);
577
X86CPU *cpu;
578
CPUState *cs;
579
int cpu_index = qdict_get_int(qdict, "cpu_index");
target/i386/sev.c
+2
-1
@@ -784,8 +784,9 @@ SevInfo *qmp_query_sev(Error **errp)
784
return info;
785
}
786
787
-void hmp_info_sev(Monitor *mon, const QDict *qdict)
787
+void hmp_info_sev(MonitorHMP *hmp, const QDict *qdict)
788
{
789
+ Monitor *mon = MONITOR(hmp);
790
SevInfo *info = sev_get_info();
791
792
if (!info || !info->enabled) {
target/m68k/monitor.c
+2
-1
@@ -10,8 +10,9 @@
10
#include "monitor/hmp.h"
11
#include "monitor/monitor.h"
12
13
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
13
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
14
{
15
+ Monitor *mon = MONITOR(hmp);
16
CPUArchState *env1 = mon_get_cpu_env(mon);
17
18
if (!env1) {
target/ppc/monitor.c
+2
-1
@@ -11,8 +11,9 @@
11
#include "monitor/hmp.h"
12
#include "cpu.h"
13
14
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
14
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
15
{
16
+ Monitor *mon = MONITOR(hmp);
17
CPUArchState *env1 = mon_get_cpu_env(mon);
18
19
if (!env1) {
target/riscv/monitor.c
+2
-1
@@ -215,8 +215,9 @@ static void mem_info_svxx(Monitor *mon, CPUArchState *env)
215
last_paddr + last_size - pbase, last_attr);
216
}
217
218
-void hmp_info_mem(Monitor *mon, const QDict *qdict)
218
+void hmp_info_mem(MonitorHMP *hmp, const QDict *qdict)
219
{
220
+ Monitor *mon = MONITOR(hmp);
221
CPUArchState *env;
222
223
env = mon_get_cpu_env(mon);
target/sh4/monitor.c
+2
-1
@@ -38,8 +38,9 @@ static void print_tlb(Monitor *mon, int idx, tlb_t *tlb)
38
tlb->d, tlb->wt);
39
}
40
41
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
41
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
42
{
43
+ Monitor *mon = MONITOR(hmp);
44
CPUArchState *env = mon_get_cpu_env(mon);
45
int i;
46
target/sparc/monitor.c
+2
-1
@@ -27,8 +27,9 @@
27
#include "monitor/hmp.h"
28
29
30
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
30
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
31
{
32
+ Monitor *mon = MONITOR(hmp);
33
CPUArchState *env1 = mon_get_cpu_env(mon);
34
35
if (!env1) {
target/xtensa/monitor.c
+2
-1
@@ -26,8 +26,9 @@
26
#include "monitor/monitor.h"
27
#include "monitor/hmp.h"
28
29
-void hmp_info_tlb(Monitor *mon, const QDict *qdict)
29
+void hmp_info_tlb(MonitorHMP *hmp, const QDict *qdict)
30
{
31
+ Monitor *mon = MONITOR(hmp);
32
CPUArchState *env1 = mon_get_cpu_env(mon);
33
34
if (!env1) {
trace/trace-hmp-cmds.c
+5
-3
@@ -33,7 +33,7 @@
33
#include "trace/simple.h"
34
#endif
35
36
-void hmp_trace_event(Monitor *mon, const QDict *qdict)
36
+void hmp_trace_event(MonitorHMP *hmp, const QDict *qdict)
37
{
38
const char *tp_name = qdict_get_str(qdict, "name");
39
bool new_state = qdict_get_bool(qdict, "option");
@@ -47,8 +47,9 @@ void hmp_trace_event(Monitor *mon, const QDict *qdict)
47
}
48
49
#ifdef CONFIG_TRACE_SIMPLE
50
-void hmp_trace_file(Monitor *mon, const QDict *qdict)
50
+void hmp_trace_file(MonitorHMP *hmp, const QDict *qdict)
51
{
52
+ Monitor *mon = MONITOR(hmp);
53
const char *op = qdict_get_try_str(qdict, "op");
54
const char *arg = qdict_get_try_str(qdict, "arg");
55
@@ -71,8 +72,9 @@ void hmp_trace_file(Monitor *mon, const QDict *qdict)
72
}
73
#endif
74
74
-void hmp_info_trace_events(Monitor *mon, const QDict *qdict)
75
+void hmp_info_trace_events(MonitorHMP *hmp, const QDict *qdict)
76
{
77
+ Monitor *mon = MONITOR(hmp);
78
const char *name = qdict_get_try_str(qdict, "name");
79
TraceEventInfoList *events;
80
TraceEventInfoList *elem;
ui/ui-hmp-cmds.c
+20
-11
@@ -29,7 +29,7 @@
29
30
static int mouse_button_state;
31
32
-void hmp_mouse_move(Monitor *mon, const QDict *qdict)
32
+void hmp_mouse_move(MonitorHMP *hmp, const QDict *qdict)
33
{
34
int dx, dy, dz, button;
35
const char *dx_str = qdict_get_str(qdict, "dx_str");
@@ -53,7 +53,7 @@ void hmp_mouse_move(Monitor *mon, const QDict *qdict)
53
qemu_input_event_sync();
54
}
55
56
-void hmp_mouse_button(Monitor *mon, const QDict *qdict)
56
+void hmp_mouse_button(MonitorHMP *hmp, const QDict *qdict)
57
{
58
/* HMP mouse_button bitmask: 1=L, 2=R, 4=M */
59
static uint32_t bmap[INPUT_BUTTON__MAX] = {
@@ -71,16 +71,18 @@ void hmp_mouse_button(Monitor *mon, const QDict *qdict)
71
mouse_button_state = button_state;
72
}
73
74
-void hmp_mouse_set(Monitor *mon, const QDict *qdict)
74
+void hmp_mouse_set(MonitorHMP *hmp, const QDict *qdict)
75
{
76
+ Monitor *mon = MONITOR(hmp);
77
Error *err = NULL;
78
79
qemu_mouse_set(qdict_get_int(qdict, "index"), &err);
80
hmp_handle_error(mon, err);
81
}
82
82
-void hmp_info_mice(Monitor *mon, const QDict *qdict)
83
+void hmp_info_mice(MonitorHMP *hmp, const QDict *qdict)
84
{
85
+ Monitor *mon = MONITOR(hmp);
86
MouseInfoList *mice_list, *mouse;
87
88
mice_list = qmp_query_mice(NULL);
@@ -148,8 +150,9 @@ static void hmp_info_vnc_servers(Monitor *mon, VncServerInfo2List *server)
150
}
151
}
152
151
-void hmp_info_vnc(Monitor *mon, const QDict *qdict)
153
+void hmp_info_vnc(MonitorHMP *hmp, const QDict *qdict)
154
{
155
+ Monitor *mon = MONITOR(hmp);
156
VncInfo2List *info2l, *info2l_head;
157
Error *err = NULL;
158
@@ -189,8 +192,9 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict)
192
#endif
193
194
#ifdef CONFIG_SPICE
192
-void hmp_info_spice(Monitor *mon, const QDict *qdict)
195
+void hmp_info_spice(MonitorHMP *hmp, const QDict *qdict)
196
{
197
+ Monitor *mon = MONITOR(hmp);
198
SpiceChannelList *chan;
199
SpiceInfo *info;
200
const char *channel_name;
@@ -260,8 +264,9 @@ out:
264
}
265
#endif
266
263
-void hmp_set_password(Monitor *mon, const QDict *qdict)
267
+void hmp_set_password(MonitorHMP *hmp, const QDict *qdict)
268
{
269
+ Monitor *mon = MONITOR(hmp);
270
const char *protocol = qdict_get_str(qdict, "protocol");
271
const char *password = qdict_get_str(qdict, "password");
272
const char *display = qdict_get_try_str(qdict, "display");
@@ -295,8 +300,9 @@ out:
300
hmp_handle_error(mon, err);
301
}
302
298
-void hmp_expire_password(Monitor *mon, const QDict *qdict)
303
+void hmp_expire_password(MonitorHMP *hmp, const QDict *qdict)
304
{
305
+ Monitor *mon = MONITOR(hmp);
306
const char *protocol = qdict_get_str(qdict, "protocol");
307
const char *whenstr = qdict_get_str(qdict, "time");
308
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)
372
return i;
373
}
374
369
-void hmp_sendkey(Monitor *mon, const QDict *qdict)
375
+void hmp_sendkey(MonitorHMP *hmp, const QDict *qdict)
376
{
377
+ Monitor *mon = MONITOR(hmp);
378
const char *keys = qdict_get_str(qdict, "keys");
379
KeyValue *v = NULL;
380
KeyValueList *head = NULL, **tail = &head;
@@ -456,8 +463,9 @@ void sendkey_completion(ReadLineState *rs, int nb_args, const char *str)
463
464
#ifdef CONFIG_PIXMAN
465
void coroutine_fn
459
-hmp_screendump(Monitor *mon, const QDict *qdict)
466
+hmp_screendump(MonitorHMP *hmp, const QDict *qdict)
467
{
468
+ Monitor *mon = MONITOR(hmp);
469
const char *filename = qdict_get_str(qdict, "filename");
470
const char *id = qdict_get_try_str(qdict, "device");
471
int64_t head = qdict_get_try_int(qdict, "head", 0);
@@ -478,8 +486,9 @@ end:
486
}
487
#endif
488
481
-void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
489
+void hmp_client_migrate_info(MonitorHMP *hmp, const QDict *qdict)
490
{
491
+ Monitor *mon = MONITOR(hmp);
492
Error *err = NULL;
493
const char *protocol = qdict_get_str(qdict, "protocol");
494
const char *hostname = qdict_get_str(qdict, "hostname");