2 * Human Monitor Interface
4 * Copyright IBM, Corp. 2011
7 * Anthony Liguori <aliguori@us.ibm.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
17 #include "qemu/readline.h"
18 #include "qapi/qapi-types-common.h"
20 bool hmp_handle_error(Monitor
*mon
, Error
*err
);
21 void hmp_help_cmd(Monitor
*mon
, const char *name
);
22 strList
*hmp_split_at_comma(const char *str
);
24 void hmp_info_name(Monitor
*mon
, const QDict
*qdict
);
25 void hmp_info_version(Monitor
*mon
, const QDict
*qdict
);
26 void hmp_info_kvm(Monitor
*mon
, const QDict
*qdict
);
27 void hmp_info_status(Monitor
*mon
, const QDict
*qdict
);
28 void hmp_info_uuid(Monitor
*mon
, const QDict
*qdict
);
29 void hmp_info_chardev(Monitor
*mon
, const QDict
*qdict
);
30 void hmp_info_mice(Monitor
*mon
, const QDict
*qdict
);
31 void hmp_info_migrate(Monitor
*mon
, const QDict
*qdict
);
32 void hmp_info_migrate_capabilities(Monitor
*mon
, const QDict
*qdict
);
33 void hmp_info_migrate_parameters(Monitor
*mon
, const QDict
*qdict
);
34 void hmp_info_cpus(Monitor
*mon
, const QDict
*qdict
);
35 void hmp_info_vnc(Monitor
*mon
, const QDict
*qdict
);
36 void hmp_info_spice(Monitor
*mon
, const QDict
*qdict
);
37 void hmp_info_balloon(Monitor
*mon
, const QDict
*qdict
);
38 void hmp_info_pic(Monitor
*mon
, const QDict
*qdict
);
39 void hmp_info_pci(Monitor
*mon
, const QDict
*qdict
);
40 void hmp_info_tpm(Monitor
*mon
, const QDict
*qdict
);
41 void hmp_info_iothreads(Monitor
*mon
, const QDict
*qdict
);
42 void hmp_quit(Monitor
*mon
, const QDict
*qdict
);
43 void hmp_stop(Monitor
*mon
, const QDict
*qdict
);
44 void hmp_sync_profile(Monitor
*mon
, const QDict
*qdict
);
45 void hmp_system_reset(Monitor
*mon
, const QDict
*qdict
);
46 void hmp_system_powerdown(Monitor
*mon
, const QDict
*qdict
);
47 void hmp_exit_preconfig(Monitor
*mon
, const QDict
*qdict
);
48 void hmp_announce_self(Monitor
*mon
, const QDict
*qdict
);
49 void hmp_cpu(Monitor
*mon
, const QDict
*qdict
);
50 void hmp_memsave(Monitor
*mon
, const QDict
*qdict
);
51 void hmp_pmemsave(Monitor
*mon
, const QDict
*qdict
);
52 void hmp_ringbuf_write(Monitor
*mon
, const QDict
*qdict
);
53 void hmp_ringbuf_read(Monitor
*mon
, const QDict
*qdict
);
54 void hmp_cont(Monitor
*mon
, const QDict
*qdict
);
55 void hmp_system_wakeup(Monitor
*mon
, const QDict
*qdict
);
56 void hmp_nmi(Monitor
*mon
, const QDict
*qdict
);
57 void hmp_info_network(Monitor
*mon
, const QDict
*qdict
);
58 void hmp_set_link(Monitor
*mon
, const QDict
*qdict
);
59 void hmp_balloon(Monitor
*mon
, const QDict
*qdict
);
60 void hmp_loadvm(Monitor
*mon
, const QDict
*qdict
);
61 void hmp_savevm(Monitor
*mon
, const QDict
*qdict
);
62 void hmp_delvm(Monitor
*mon
, const QDict
*qdict
);
63 void hmp_migrate_cancel(Monitor
*mon
, const QDict
*qdict
);
64 void hmp_migrate_continue(Monitor
*mon
, const QDict
*qdict
);
65 void hmp_migrate_incoming(Monitor
*mon
, const QDict
*qdict
);
66 void hmp_migrate_recover(Monitor
*mon
, const QDict
*qdict
);
67 void hmp_migrate_pause(Monitor
*mon
, const QDict
*qdict
);
68 void hmp_migrate_set_capability(Monitor
*mon
, const QDict
*qdict
);
69 void hmp_migrate_set_parameter(Monitor
*mon
, const QDict
*qdict
);
70 void hmp_client_migrate_info(Monitor
*mon
, const QDict
*qdict
);
71 void hmp_migrate_start_postcopy(Monitor
*mon
, const QDict
*qdict
);
72 void hmp_x_colo_lost_heartbeat(Monitor
*mon
, const QDict
*qdict
);
73 void hmp_set_password(Monitor
*mon
, const QDict
*qdict
);
74 void hmp_expire_password(Monitor
*mon
, const QDict
*qdict
);
75 void hmp_change(Monitor
*mon
, const QDict
*qdict
);
77 void hmp_change_vnc(Monitor
*mon
, const char *device
, const char *target
,
78 const char *arg
, const char *read_only
, bool force
,
81 void hmp_change_medium(Monitor
*mon
, const char *device
, const char *target
,
82 const char *arg
, const char *read_only
, bool force
,
84 void hmp_migrate(Monitor
*mon
, const QDict
*qdict
);
85 void hmp_device_add(Monitor
*mon
, const QDict
*qdict
);
86 void hmp_device_del(Monitor
*mon
, const QDict
*qdict
);
87 void hmp_dump_guest_memory(Monitor
*mon
, const QDict
*qdict
);
88 void hmp_netdev_add(Monitor
*mon
, const QDict
*qdict
);
89 void hmp_netdev_del(Monitor
*mon
, const QDict
*qdict
);
90 void hmp_getfd(Monitor
*mon
, const QDict
*qdict
);
91 void hmp_closefd(Monitor
*mon
, const QDict
*qdict
);
92 void hmp_mouse_move(Monitor
*mon
, const QDict
*qdict
);
93 void hmp_mouse_button(Monitor
*mon
, const QDict
*qdict
);
94 void hmp_mouse_set(Monitor
*mon
, const QDict
*qdict
);
95 void hmp_sendkey(Monitor
*mon
, const QDict
*qdict
);
96 void coroutine_fn
hmp_screendump(Monitor
*mon
, const QDict
*qdict
);
97 void hmp_chardev_add(Monitor
*mon
, const QDict
*qdict
);
98 void hmp_chardev_change(Monitor
*mon
, const QDict
*qdict
);
99 void hmp_chardev_remove(Monitor
*mon
, const QDict
*qdict
);
100 void hmp_chardev_send_break(Monitor
*mon
, const QDict
*qdict
);
101 void hmp_object_add(Monitor
*mon
, const QDict
*qdict
);
102 void hmp_object_del(Monitor
*mon
, const QDict
*qdict
);
103 void hmp_info_memdev(Monitor
*mon
, const QDict
*qdict
);
104 void hmp_info_memory_devices(Monitor
*mon
, const QDict
*qdict
);
105 void hmp_qom_list(Monitor
*mon
, const QDict
*qdict
);
106 void hmp_qom_get(Monitor
*mon
, const QDict
*qdict
);
107 void hmp_qom_set(Monitor
*mon
, const QDict
*qdict
);
108 void hmp_info_qom_tree(Monitor
*mon
, const QDict
*dict
);
109 void hmp_virtio_query(Monitor
*mon
, const QDict
*qdict
);
110 void hmp_virtio_status(Monitor
*mon
, const QDict
*qdict
);
111 void hmp_virtio_queue_status(Monitor
*mon
, const QDict
*qdict
);
112 void hmp_vhost_queue_status(Monitor
*mon
, const QDict
*qdict
);
113 void hmp_virtio_queue_element(Monitor
*mon
, const QDict
*qdict
);
114 void hmp_xen_event_inject(Monitor
*mon
, const QDict
*qdict
);
115 void hmp_xen_event_list(Monitor
*mon
, const QDict
*qdict
);
116 void object_add_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
117 void object_del_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
118 void device_add_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
119 void device_del_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
120 void sendkey_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
121 void chardev_remove_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
122 void chardev_add_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
123 void set_link_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
124 void netdev_add_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
125 void netdev_del_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
126 void ringbuf_write_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
127 void info_trace_events_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
128 void trace_event_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
129 void watchdog_action_completion(ReadLineState
*rs
, int nb_args
,
131 void migrate_set_capability_completion(ReadLineState
*rs
, int nb_args
,
133 void migrate_set_parameter_completion(ReadLineState
*rs
, int nb_args
,
135 void delvm_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
136 void loadvm_completion(ReadLineState
*rs
, int nb_args
, const char *str
);
137 void hmp_rocker(Monitor
*mon
, const QDict
*qdict
);
138 void hmp_rocker_ports(Monitor
*mon
, const QDict
*qdict
);
139 void hmp_rocker_of_dpa_flows(Monitor
*mon
, const QDict
*qdict
);
140 void hmp_rocker_of_dpa_groups(Monitor
*mon
, const QDict
*qdict
);
141 void hmp_info_dump(Monitor
*mon
, const QDict
*qdict
);
142 void hmp_hotpluggable_cpus(Monitor
*mon
, const QDict
*qdict
);
143 void hmp_info_vm_generation_id(Monitor
*mon
, const QDict
*qdict
);
144 void hmp_info_memory_size_summary(Monitor
*mon
, const QDict
*qdict
);
145 void hmp_info_replay(Monitor
*mon
, const QDict
*qdict
);
146 void hmp_replay_break(Monitor
*mon
, const QDict
*qdict
);
147 void hmp_replay_delete_break(Monitor
*mon
, const QDict
*qdict
);
148 void hmp_replay_seek(Monitor
*mon
, const QDict
*qdict
);
149 void hmp_info_dirty_rate(Monitor
*mon
, const QDict
*qdict
);
150 void hmp_calc_dirty_rate(Monitor
*mon
, const QDict
*qdict
);
151 void hmp_set_vcpu_dirty_limit(Monitor
*mon
, const QDict
*qdict
);
152 void hmp_cancel_vcpu_dirty_limit(Monitor
*mon
, const QDict
*qdict
);
153 void hmp_info_vcpu_dirty_limit(Monitor
*mon
, const QDict
*qdict
);
154 void hmp_human_readable_text_helper(Monitor
*mon
,
155 HumanReadableText
*(*qmp_handler
)(Error
**));
156 void hmp_info_stats(Monitor
*mon
, const QDict
*qdict
);
157 void hmp_one_insn_per_tb(Monitor
*mon
, const QDict
*qdict
);
158 void hmp_watchdog_action(Monitor
*mon
, const QDict
*qdict
);
159 void hmp_pcie_aer_inject_error(Monitor
*mon
, const QDict
*qdict
);
160 void hmp_info_capture(Monitor
*mon
, const QDict
*qdict
);
161 void hmp_stopcapture(Monitor
*mon
, const QDict
*qdict
);
162 void hmp_wavcapture(Monitor
*mon
, const QDict
*qdict
);
163 void hmp_trace_event(Monitor
*mon
, const QDict
*qdict
);
164 void hmp_trace_file(Monitor
*mon
, const QDict
*qdict
);
165 void hmp_info_trace_events(Monitor
*mon
, const QDict
*qdict
);
166 void hmp_help(Monitor
*mon
, const QDict
*qdict
);
167 void hmp_info_help(Monitor
*mon
, const QDict
*qdict
);
168 void hmp_info_sync_profile(Monitor
*mon
, const QDict
*qdict
);
169 void hmp_info_history(Monitor
*mon
, const QDict
*qdict
);
170 void hmp_logfile(Monitor
*mon
, const QDict
*qdict
);
171 void hmp_log(Monitor
*mon
, const QDict
*qdict
);
172 void hmp_gdbserver(Monitor
*mon
, const QDict
*qdict
);
173 void hmp_print(Monitor
*mon
, const QDict
*qdict
);
174 void hmp_sum(Monitor
*mon
, const QDict
*qdict
);
175 void hmp_ioport_read(Monitor
*mon
, const QDict
*qdict
);
176 void hmp_ioport_write(Monitor
*mon
, const QDict
*qdict
);
177 void hmp_boot_set(Monitor
*mon
, const QDict
*qdict
);
178 void hmp_info_mtree(Monitor
*mon
, const QDict
*qdict
);
179 void hmp_info_cryptodev(Monitor
*mon
, const QDict
*qdict
);
180 void hmp_dumpdtb(Monitor
*mon
, const QDict
*qdict
);