Message ID | 5b37943ea8f27258f29b1c8a5cd8a4905ae82739.1586165555.git.elena.ufimtseva@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Initial support for multi-process qemu | expand |
* elena.ufimtseva@oracle.com (elena.ufimtseva@oracle.com) wrote: > From: Jagannathan Raman <jag.raman@oracle.com> > > Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com> > Signed-off-by: John G Johnson <john.g.johnson@oracle.com> > Signed-off-by: Jagannathan Raman <jag.raman@oracle.com> Hmm OK, so Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> but it might be better where you can, to restrict these to the ones you want to share with your processes; for example I doubt hmp_wavcapture would be shared. Dave > --- > hmp-commands.hx | 4 +- > monitor/misc.c | 76 +++++++++++++++++++------------------- > monitor/monitor-internal.h | 38 +++++++++++++++++++ > 3 files changed, 78 insertions(+), 40 deletions(-) > > diff --git a/hmp-commands.hx b/hmp-commands.hx > index 7f0f3974ad..02cae25c24 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -11,7 +11,7 @@ HXCOMM HXCOMM can be used for comments, discarded from both rST and C. > .args_type = "name:S?", > .params = "[cmd]", > .help = "show the help", > - .cmd = do_help_cmd, > + .cmd = hmp_do_help_cmd, > .flags = "p", > }, > > @@ -555,7 +555,7 @@ ERST > .args_type = "fmt:/,val:l", > .params = "/fmt expr", > .help = "print expression value (use $reg for CPU register access)", > - .cmd = do_print, > + .cmd = hmp_do_print, > }, > > SRST > diff --git a/monitor/misc.c b/monitor/misc.c > index 6c45fa490f..c0eee6f4ab 100644 > --- a/monitor/misc.c > +++ b/monitor/misc.c > @@ -178,12 +178,12 @@ int hmp_compare_cmd(const char *name, const char *list) > return 0; > } > > -static void do_help_cmd(Monitor *mon, const QDict *qdict) > +void hmp_do_help_cmd(Monitor *mon, const QDict *qdict) > { > help_cmd(mon, qdict_get_try_str(qdict, "name")); > } > > -static void hmp_trace_event(Monitor *mon, const QDict *qdict) > +void hmp_trace_event(Monitor *mon, const QDict *qdict) > { > const char *tp_name = qdict_get_str(qdict, "name"); > bool new_state = qdict_get_bool(qdict, "option"); > @@ -227,7 +227,7 @@ static void hmp_trace_file(Monitor *mon, const QDict *qdict) > } > #endif > > -static void hmp_info_help(Monitor *mon, const QDict *qdict) > +void hmp_info_help(Monitor *mon, const QDict *qdict) > { > help_cmd(mon, "info"); > } > @@ -315,7 +315,7 @@ int monitor_get_cpu_index(void) > return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX; > } > > -static void hmp_info_registers(Monitor *mon, const QDict *qdict) > +void hmp_info_registers(Monitor *mon, const QDict *qdict) > { > bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false); > CPUState *cs; > @@ -338,7 +338,7 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict) > } > > #ifdef CONFIG_TCG > -static void hmp_info_jit(Monitor *mon, const QDict *qdict) > +void hmp_info_jit(Monitor *mon, const QDict *qdict) > { > if (!tcg_enabled()) { > error_report("JIT information is only available with accel=tcg"); > @@ -349,13 +349,13 @@ static void hmp_info_jit(Monitor *mon, const QDict *qdict) > dump_drift_info(); > } > > -static void hmp_info_opcount(Monitor *mon, const QDict *qdict) > +void hmp_info_opcount(Monitor *mon, const QDict *qdict) > { > dump_opcount_info(); > } > #endif > > -static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) > +void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) > { > int64_t max = qdict_get_try_int(qdict, "max", 10); > bool mean = qdict_get_try_bool(qdict, "mean", false); > @@ -366,7 +366,7 @@ static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) > qsp_report(max, sort_by, coalesce); > } > > -static void hmp_info_history(Monitor *mon, const QDict *qdict) > +void hmp_info_history(Monitor *mon, const QDict *qdict) > { > MonitorHMP *hmp_mon = container_of(mon, MonitorHMP, common); > int i; > @@ -386,7 +386,7 @@ static void hmp_info_history(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_info_cpustats(Monitor *mon, const QDict *qdict) > +void hmp_info_cpustats(Monitor *mon, const QDict *qdict) > { > CPUState *cs = mon_get_cpu(); > > @@ -397,7 +397,7 @@ static void hmp_info_cpustats(Monitor *mon, const QDict *qdict) > cpu_dump_statistics(cs, 0); > } > > -static void hmp_info_trace_events(Monitor *mon, const QDict *qdict) > +void hmp_info_trace_events(Monitor *mon, const QDict *qdict) > { > const char *name = qdict_get_try_str(qdict, "name"); > bool has_vcpu = qdict_haskey(qdict, "vcpu"); > @@ -457,7 +457,7 @@ void qmp_client_migrate_info(const char *protocol, const char *hostname, > error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", "spice"); > } > > -static void hmp_logfile(Monitor *mon, const QDict *qdict) > +void hmp_logfile(Monitor *mon, const QDict *qdict) > { > Error *err = NULL; > > @@ -467,7 +467,7 @@ static void hmp_logfile(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_log(Monitor *mon, const QDict *qdict) > +void hmp_log(Monitor *mon, const QDict *qdict) > { > int mask; > const char *items = qdict_get_str(qdict, "items"); > @@ -484,7 +484,7 @@ static void hmp_log(Monitor *mon, const QDict *qdict) > qemu_set_log(mask); > } > > -static void hmp_singlestep(Monitor *mon, const QDict *qdict) > +void hmp_singlestep(Monitor *mon, const QDict *qdict) > { > const char *option = qdict_get_try_str(qdict, "option"); > if (!option || !strcmp(option, "on")) { > @@ -496,7 +496,7 @@ static void hmp_singlestep(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_gdbserver(Monitor *mon, const QDict *qdict) > +void hmp_gdbserver(Monitor *mon, const QDict *qdict) > { > const char *device = qdict_get_try_str(qdict, "device"); > if (!device) > @@ -512,7 +512,7 @@ static void hmp_gdbserver(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_watchdog_action(Monitor *mon, const QDict *qdict) > +void hmp_watchdog_action(Monitor *mon, const QDict *qdict) > { > const char *action = qdict_get_str(qdict, "action"); > if (select_watchdog_action(action) == -1) { > @@ -654,7 +654,7 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize, > } > } > > -static void hmp_memory_dump(Monitor *mon, const QDict *qdict) > +void hmp_memory_dump(Monitor *mon, const QDict *qdict) > { > int count = qdict_get_int(qdict, "count"); > int format = qdict_get_int(qdict, "format"); > @@ -664,7 +664,7 @@ static void hmp_memory_dump(Monitor *mon, const QDict *qdict) > memory_dump(mon, count, format, size, addr, 0); > } > > -static void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) > +void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) > { > int count = qdict_get_int(qdict, "count"); > int format = qdict_get_int(qdict, "format"); > @@ -694,7 +694,7 @@ static void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, Error **errp) > return qemu_map_ram_ptr(mrs.mr->ram_block, mrs.offset_within_region); > } > > -static void hmp_gpa2hva(Monitor *mon, const QDict *qdict) > +void hmp_gpa2hva(Monitor *mon, const QDict *qdict) > { > hwaddr addr = qdict_get_int(qdict, "addr"); > Error *local_err = NULL; > @@ -714,7 +714,7 @@ static void hmp_gpa2hva(Monitor *mon, const QDict *qdict) > memory_region_unref(mr); > } > > -static void hmp_gva2gpa(Monitor *mon, const QDict *qdict) > +void hmp_gva2gpa(Monitor *mon, const QDict *qdict) > { > target_ulong addr = qdict_get_int(qdict, "addr"); > MemTxAttrs attrs; > @@ -769,7 +769,7 @@ out: > return ret; > } > > -static void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) > +void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) > { > hwaddr addr = qdict_get_int(qdict, "addr"); > Error *local_err = NULL; > @@ -796,7 +796,7 @@ static void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) > } > #endif > > -static void do_print(Monitor *mon, const QDict *qdict) > +void hmp_do_print(Monitor *mon, const QDict *qdict) > { > int format = qdict_get_int(qdict, "format"); > hwaddr val = qdict_get_int(qdict, "val"); > @@ -822,7 +822,7 @@ static void do_print(Monitor *mon, const QDict *qdict) > monitor_printf(mon, "\n"); > } > > -static void hmp_sum(Monitor *mon, const QDict *qdict) > +void hmp_sum(Monitor *mon, const QDict *qdict) > { > uint32_t addr; > uint16_t sum; > @@ -842,7 +842,7 @@ static void hmp_sum(Monitor *mon, const QDict *qdict) > > static int mouse_button_state; > > -static void hmp_mouse_move(Monitor *mon, const QDict *qdict) > +void hmp_mouse_move(Monitor *mon, const QDict *qdict) > { > int dx, dy, dz, button; > const char *dx_str = qdict_get_str(qdict, "dx_str"); > @@ -866,7 +866,7 @@ static void hmp_mouse_move(Monitor *mon, const QDict *qdict) > qemu_input_event_sync(); > } > > -static void hmp_mouse_button(Monitor *mon, const QDict *qdict) > +void hmp_mouse_button(Monitor *mon, const QDict *qdict) > { > static uint32_t bmap[INPUT_BUTTON__MAX] = { > [INPUT_BUTTON_LEFT] = MOUSE_EVENT_LBUTTON, > @@ -883,7 +883,7 @@ static void hmp_mouse_button(Monitor *mon, const QDict *qdict) > mouse_button_state = button_state; > } > > -static void hmp_ioport_read(Monitor *mon, const QDict *qdict) > +void hmp_ioport_read(Monitor *mon, const QDict *qdict) > { > int size = qdict_get_int(qdict, "size"); > int addr = qdict_get_int(qdict, "addr"); > @@ -917,7 +917,7 @@ static void hmp_ioport_read(Monitor *mon, const QDict *qdict) > suffix, addr, size * 2, val); > } > > -static void hmp_ioport_write(Monitor *mon, const QDict *qdict) > +void hmp_ioport_write(Monitor *mon, const QDict *qdict) > { > int size = qdict_get_int(qdict, "size"); > int addr = qdict_get_int(qdict, "addr"); > @@ -939,7 +939,7 @@ static void hmp_ioport_write(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_boot_set(Monitor *mon, const QDict *qdict) > +void hmp_boot_set(Monitor *mon, const QDict *qdict) > { > Error *local_err = NULL; > const char *bootdevice = qdict_get_str(qdict, "bootdevice"); > @@ -952,7 +952,7 @@ static void hmp_boot_set(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_info_mtree(Monitor *mon, const QDict *qdict) > +void hmp_info_mtree(Monitor *mon, const QDict *qdict) > { > bool flatview = qdict_get_try_bool(qdict, "flatview", false); > bool dispatch_tree = qdict_get_try_bool(qdict, "dispatch_tree", false); > @@ -965,7 +965,7 @@ static void hmp_info_mtree(Monitor *mon, const QDict *qdict) > > int64_t dev_time; > > -static void hmp_info_profile(Monitor *mon, const QDict *qdict) > +void hmp_info_profile(Monitor *mon, const QDict *qdict) > { > static int64_t last_cpu_exec_time; > int64_t cpu_exec_time; > @@ -982,7 +982,7 @@ static void hmp_info_profile(Monitor *mon, const QDict *qdict) > dev_time = 0; > } > #else > -static void hmp_info_profile(Monitor *mon, const QDict *qdict) > +void hmp_info_profile(Monitor *mon, const QDict *qdict) > { > monitor_printf(mon, "Internal profiler not compiled\n"); > } > @@ -991,7 +991,7 @@ static void hmp_info_profile(Monitor *mon, const QDict *qdict) > /* Capture support */ > static QLIST_HEAD (capture_list_head, CaptureState) capture_head; > > -static void hmp_info_capture(Monitor *mon, const QDict *qdict) > +void hmp_info_capture(Monitor *mon, const QDict *qdict) > { > int i; > CaptureState *s; > @@ -1002,7 +1002,7 @@ static void hmp_info_capture(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_stopcapture(Monitor *mon, const QDict *qdict) > +void hmp_stopcapture(Monitor *mon, const QDict *qdict) > { > int i; > int n = qdict_get_int(qdict, "n"); > @@ -1018,7 +1018,7 @@ static void hmp_stopcapture(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_wavcapture(Monitor *mon, const QDict *qdict) > +void hmp_wavcapture(Monitor *mon, const QDict *qdict) > { > const char *path = qdict_get_str(qdict, "path"); > int freq = qdict_get_try_int(qdict, "freq", 44100); > @@ -1071,7 +1071,7 @@ static void hmp_warn_acl(void) > warn_acl = true; > } > > -static void hmp_acl_show(Monitor *mon, const QDict *qdict) > +void hmp_acl_show(Monitor *mon, const QDict *qdict) > { > const char *aclname = qdict_get_str(qdict, "aclname"); > QAuthZList *auth = find_auth(mon, aclname); > @@ -1098,7 +1098,7 @@ static void hmp_acl_show(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_acl_reset(Monitor *mon, const QDict *qdict) > +void hmp_acl_reset(Monitor *mon, const QDict *qdict) > { > const char *aclname = qdict_get_str(qdict, "aclname"); > QAuthZList *auth = find_auth(mon, aclname); > @@ -1115,7 +1115,7 @@ static void hmp_acl_reset(Monitor *mon, const QDict *qdict) > monitor_printf(mon, "acl: removed all rules\n"); > } > > -static void hmp_acl_policy(Monitor *mon, const QDict *qdict) > +void hmp_acl_policy(Monitor *mon, const QDict *qdict) > { > const char *aclname = qdict_get_str(qdict, "aclname"); > const char *policy = qdict_get_str(qdict, "policy"); > @@ -1156,7 +1156,7 @@ static QAuthZListFormat hmp_acl_get_format(const char *match) > } > } > > -static void hmp_acl_add(Monitor *mon, const QDict *qdict) > +void hmp_acl_add(Monitor *mon, const QDict *qdict) > { > const char *aclname = qdict_get_str(qdict, "aclname"); > const char *match = qdict_get_str(qdict, "match"); > @@ -1209,7 +1209,7 @@ static void hmp_acl_add(Monitor *mon, const QDict *qdict) > } > } > > -static void hmp_acl_remove(Monitor *mon, const QDict *qdict) > +void hmp_acl_remove(Monitor *mon, const QDict *qdict) > { > const char *aclname = qdict_get_str(qdict, "aclname"); > const char *match = qdict_get_str(qdict, "match"); > diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h > index 8f60ccc70a..bc8c9fa16b 100644 > --- a/monitor/monitor-internal.h > +++ b/monitor/monitor-internal.h > @@ -183,4 +183,42 @@ int hmp_compare_cmd(const char *name, const char *list); > void qmp_query_qmp_schema(QDict *qdict, QObject **ret_data, > Error **errp); > > +void hmp_do_help_cmd(Monitor *mon, const QDict *qdict); > +void hmp_trace_event(Monitor *mon, const QDict *qdict); > +void hmp_info_help(Monitor *mon, const QDict *qdict); > +void hmp_info_registers(Monitor *mon, const QDict *qdict); > +void hmp_info_jit(Monitor *mon, const QDict *qdict); > +void hmp_info_opcount(Monitor *mon, const QDict *qdict); > +void hmp_info_sync_profile(Monitor *mon, const QDict *qdict); > +void hmp_info_history(Monitor *mon, const QDict *qdict); > +void hmp_info_cpustats(Monitor *mon, const QDict *qdict); > +void hmp_info_trace_events(Monitor *mon, const QDict *qdict); > +void hmp_logfile(Monitor *mon, const QDict *qdict); > +void hmp_log(Monitor *mon, const QDict *qdict); > +void hmp_singlestep(Monitor *mon, const QDict *qdict); > +void hmp_gdbserver(Monitor *mon, const QDict *qdict); > +void hmp_watchdog_action(Monitor *mon, const QDict *qdict); > +void hmp_memory_dump(Monitor *mon, const QDict *qdict); > +void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict); > +void hmp_gpa2hva(Monitor *mon, const QDict *qdict); > +void hmp_gva2gpa(Monitor *mon, const QDict *qdict); > +void hmp_gpa2hpa(Monitor *mon, const QDict *qdict); > +void hmp_do_print(Monitor *mon, const QDict *qdict); > +void hmp_sum(Monitor *mon, const QDict *qdict); > +void hmp_mouse_move(Monitor *mon, const QDict *qdict); > +void hmp_mouse_button(Monitor *mon, const QDict *qdict); > +void hmp_ioport_read(Monitor *mon, const QDict *qdict); > +void hmp_ioport_write(Monitor *mon, const QDict *qdict); > +void hmp_boot_set(Monitor *mon, const QDict *qdict); > +void hmp_info_mtree(Monitor *mon, const QDict *qdict); > +void hmp_info_profile(Monitor *mon, const QDict *qdict); > +void hmp_info_capture(Monitor *mon, const QDict *qdict); > +void hmp_stopcapture(Monitor *mon, const QDict *qdict); > +void hmp_wavcapture(Monitor *mon, const QDict *qdict); > +void hmp_acl_show(Monitor *mon, const QDict *qdict); > +void hmp_acl_reset(Monitor *mon, const QDict *qdict); > +void hmp_acl_policy(Monitor *mon, const QDict *qdict); > +void hmp_acl_add(Monitor *mon, const QDict *qdict); > +void hmp_acl_remove(Monitor *mon, const QDict *qdict); > + > #endif > -- > 2.25.GIT > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/hmp-commands.hx b/hmp-commands.hx index 7f0f3974ad..02cae25c24 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -11,7 +11,7 @@ HXCOMM HXCOMM can be used for comments, discarded from both rST and C. .args_type = "name:S?", .params = "[cmd]", .help = "show the help", - .cmd = do_help_cmd, + .cmd = hmp_do_help_cmd, .flags = "p", }, @@ -555,7 +555,7 @@ ERST .args_type = "fmt:/,val:l", .params = "/fmt expr", .help = "print expression value (use $reg for CPU register access)", - .cmd = do_print, + .cmd = hmp_do_print, }, SRST diff --git a/monitor/misc.c b/monitor/misc.c index 6c45fa490f..c0eee6f4ab 100644 --- a/monitor/misc.c +++ b/monitor/misc.c @@ -178,12 +178,12 @@ int hmp_compare_cmd(const char *name, const char *list) return 0; } -static void do_help_cmd(Monitor *mon, const QDict *qdict) +void hmp_do_help_cmd(Monitor *mon, const QDict *qdict) { help_cmd(mon, qdict_get_try_str(qdict, "name")); } -static void hmp_trace_event(Monitor *mon, const QDict *qdict) +void hmp_trace_event(Monitor *mon, const QDict *qdict) { const char *tp_name = qdict_get_str(qdict, "name"); bool new_state = qdict_get_bool(qdict, "option"); @@ -227,7 +227,7 @@ static void hmp_trace_file(Monitor *mon, const QDict *qdict) } #endif -static void hmp_info_help(Monitor *mon, const QDict *qdict) +void hmp_info_help(Monitor *mon, const QDict *qdict) { help_cmd(mon, "info"); } @@ -315,7 +315,7 @@ int monitor_get_cpu_index(void) return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX; } -static void hmp_info_registers(Monitor *mon, const QDict *qdict) +void hmp_info_registers(Monitor *mon, const QDict *qdict) { bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false); CPUState *cs; @@ -338,7 +338,7 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict) } #ifdef CONFIG_TCG -static void hmp_info_jit(Monitor *mon, const QDict *qdict) +void hmp_info_jit(Monitor *mon, const QDict *qdict) { if (!tcg_enabled()) { error_report("JIT information is only available with accel=tcg"); @@ -349,13 +349,13 @@ static void hmp_info_jit(Monitor *mon, const QDict *qdict) dump_drift_info(); } -static void hmp_info_opcount(Monitor *mon, const QDict *qdict) +void hmp_info_opcount(Monitor *mon, const QDict *qdict) { dump_opcount_info(); } #endif -static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) +void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) { int64_t max = qdict_get_try_int(qdict, "max", 10); bool mean = qdict_get_try_bool(qdict, "mean", false); @@ -366,7 +366,7 @@ static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict) qsp_report(max, sort_by, coalesce); } -static void hmp_info_history(Monitor *mon, const QDict *qdict) +void hmp_info_history(Monitor *mon, const QDict *qdict) { MonitorHMP *hmp_mon = container_of(mon, MonitorHMP, common); int i; @@ -386,7 +386,7 @@ static void hmp_info_history(Monitor *mon, const QDict *qdict) } } -static void hmp_info_cpustats(Monitor *mon, const QDict *qdict) +void hmp_info_cpustats(Monitor *mon, const QDict *qdict) { CPUState *cs = mon_get_cpu(); @@ -397,7 +397,7 @@ static void hmp_info_cpustats(Monitor *mon, const QDict *qdict) cpu_dump_statistics(cs, 0); } -static void hmp_info_trace_events(Monitor *mon, const QDict *qdict) +void hmp_info_trace_events(Monitor *mon, const QDict *qdict) { const char *name = qdict_get_try_str(qdict, "name"); bool has_vcpu = qdict_haskey(qdict, "vcpu"); @@ -457,7 +457,7 @@ void qmp_client_migrate_info(const char *protocol, const char *hostname, error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", "spice"); } -static void hmp_logfile(Monitor *mon, const QDict *qdict) +void hmp_logfile(Monitor *mon, const QDict *qdict) { Error *err = NULL; @@ -467,7 +467,7 @@ static void hmp_logfile(Monitor *mon, const QDict *qdict) } } -static void hmp_log(Monitor *mon, const QDict *qdict) +void hmp_log(Monitor *mon, const QDict *qdict) { int mask; const char *items = qdict_get_str(qdict, "items"); @@ -484,7 +484,7 @@ static void hmp_log(Monitor *mon, const QDict *qdict) qemu_set_log(mask); } -static void hmp_singlestep(Monitor *mon, const QDict *qdict) +void hmp_singlestep(Monitor *mon, const QDict *qdict) { const char *option = qdict_get_try_str(qdict, "option"); if (!option || !strcmp(option, "on")) { @@ -496,7 +496,7 @@ static void hmp_singlestep(Monitor *mon, const QDict *qdict) } } -static void hmp_gdbserver(Monitor *mon, const QDict *qdict) +void hmp_gdbserver(Monitor *mon, const QDict *qdict) { const char *device = qdict_get_try_str(qdict, "device"); if (!device) @@ -512,7 +512,7 @@ static void hmp_gdbserver(Monitor *mon, const QDict *qdict) } } -static void hmp_watchdog_action(Monitor *mon, const QDict *qdict) +void hmp_watchdog_action(Monitor *mon, const QDict *qdict) { const char *action = qdict_get_str(qdict, "action"); if (select_watchdog_action(action) == -1) { @@ -654,7 +654,7 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize, } } -static void hmp_memory_dump(Monitor *mon, const QDict *qdict) +void hmp_memory_dump(Monitor *mon, const QDict *qdict) { int count = qdict_get_int(qdict, "count"); int format = qdict_get_int(qdict, "format"); @@ -664,7 +664,7 @@ static void hmp_memory_dump(Monitor *mon, const QDict *qdict) memory_dump(mon, count, format, size, addr, 0); } -static void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) +void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) { int count = qdict_get_int(qdict, "count"); int format = qdict_get_int(qdict, "format"); @@ -694,7 +694,7 @@ static void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, Error **errp) return qemu_map_ram_ptr(mrs.mr->ram_block, mrs.offset_within_region); } -static void hmp_gpa2hva(Monitor *mon, const QDict *qdict) +void hmp_gpa2hva(Monitor *mon, const QDict *qdict) { hwaddr addr = qdict_get_int(qdict, "addr"); Error *local_err = NULL; @@ -714,7 +714,7 @@ static void hmp_gpa2hva(Monitor *mon, const QDict *qdict) memory_region_unref(mr); } -static void hmp_gva2gpa(Monitor *mon, const QDict *qdict) +void hmp_gva2gpa(Monitor *mon, const QDict *qdict) { target_ulong addr = qdict_get_int(qdict, "addr"); MemTxAttrs attrs; @@ -769,7 +769,7 @@ out: return ret; } -static void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) +void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) { hwaddr addr = qdict_get_int(qdict, "addr"); Error *local_err = NULL; @@ -796,7 +796,7 @@ static void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) } #endif -static void do_print(Monitor *mon, const QDict *qdict) +void hmp_do_print(Monitor *mon, const QDict *qdict) { int format = qdict_get_int(qdict, "format"); hwaddr val = qdict_get_int(qdict, "val"); @@ -822,7 +822,7 @@ static void do_print(Monitor *mon, const QDict *qdict) monitor_printf(mon, "\n"); } -static void hmp_sum(Monitor *mon, const QDict *qdict) +void hmp_sum(Monitor *mon, const QDict *qdict) { uint32_t addr; uint16_t sum; @@ -842,7 +842,7 @@ static void hmp_sum(Monitor *mon, const QDict *qdict) static int mouse_button_state; -static void hmp_mouse_move(Monitor *mon, const QDict *qdict) +void hmp_mouse_move(Monitor *mon, const QDict *qdict) { int dx, dy, dz, button; const char *dx_str = qdict_get_str(qdict, "dx_str"); @@ -866,7 +866,7 @@ static void hmp_mouse_move(Monitor *mon, const QDict *qdict) qemu_input_event_sync(); } -static void hmp_mouse_button(Monitor *mon, const QDict *qdict) +void hmp_mouse_button(Monitor *mon, const QDict *qdict) { static uint32_t bmap[INPUT_BUTTON__MAX] = { [INPUT_BUTTON_LEFT] = MOUSE_EVENT_LBUTTON, @@ -883,7 +883,7 @@ static void hmp_mouse_button(Monitor *mon, const QDict *qdict) mouse_button_state = button_state; } -static void hmp_ioport_read(Monitor *mon, const QDict *qdict) +void hmp_ioport_read(Monitor *mon, const QDict *qdict) { int size = qdict_get_int(qdict, "size"); int addr = qdict_get_int(qdict, "addr"); @@ -917,7 +917,7 @@ static void hmp_ioport_read(Monitor *mon, const QDict *qdict) suffix, addr, size * 2, val); } -static void hmp_ioport_write(Monitor *mon, const QDict *qdict) +void hmp_ioport_write(Monitor *mon, const QDict *qdict) { int size = qdict_get_int(qdict, "size"); int addr = qdict_get_int(qdict, "addr"); @@ -939,7 +939,7 @@ static void hmp_ioport_write(Monitor *mon, const QDict *qdict) } } -static void hmp_boot_set(Monitor *mon, const QDict *qdict) +void hmp_boot_set(Monitor *mon, const QDict *qdict) { Error *local_err = NULL; const char *bootdevice = qdict_get_str(qdict, "bootdevice"); @@ -952,7 +952,7 @@ static void hmp_boot_set(Monitor *mon, const QDict *qdict) } } -static void hmp_info_mtree(Monitor *mon, const QDict *qdict) +void hmp_info_mtree(Monitor *mon, const QDict *qdict) { bool flatview = qdict_get_try_bool(qdict, "flatview", false); bool dispatch_tree = qdict_get_try_bool(qdict, "dispatch_tree", false); @@ -965,7 +965,7 @@ static void hmp_info_mtree(Monitor *mon, const QDict *qdict) int64_t dev_time; -static void hmp_info_profile(Monitor *mon, const QDict *qdict) +void hmp_info_profile(Monitor *mon, const QDict *qdict) { static int64_t last_cpu_exec_time; int64_t cpu_exec_time; @@ -982,7 +982,7 @@ static void hmp_info_profile(Monitor *mon, const QDict *qdict) dev_time = 0; } #else -static void hmp_info_profile(Monitor *mon, const QDict *qdict) +void hmp_info_profile(Monitor *mon, const QDict *qdict) { monitor_printf(mon, "Internal profiler not compiled\n"); } @@ -991,7 +991,7 @@ static void hmp_info_profile(Monitor *mon, const QDict *qdict) /* Capture support */ static QLIST_HEAD (capture_list_head, CaptureState) capture_head; -static void hmp_info_capture(Monitor *mon, const QDict *qdict) +void hmp_info_capture(Monitor *mon, const QDict *qdict) { int i; CaptureState *s; @@ -1002,7 +1002,7 @@ static void hmp_info_capture(Monitor *mon, const QDict *qdict) } } -static void hmp_stopcapture(Monitor *mon, const QDict *qdict) +void hmp_stopcapture(Monitor *mon, const QDict *qdict) { int i; int n = qdict_get_int(qdict, "n"); @@ -1018,7 +1018,7 @@ static void hmp_stopcapture(Monitor *mon, const QDict *qdict) } } -static void hmp_wavcapture(Monitor *mon, const QDict *qdict) +void hmp_wavcapture(Monitor *mon, const QDict *qdict) { const char *path = qdict_get_str(qdict, "path"); int freq = qdict_get_try_int(qdict, "freq", 44100); @@ -1071,7 +1071,7 @@ static void hmp_warn_acl(void) warn_acl = true; } -static void hmp_acl_show(Monitor *mon, const QDict *qdict) +void hmp_acl_show(Monitor *mon, const QDict *qdict) { const char *aclname = qdict_get_str(qdict, "aclname"); QAuthZList *auth = find_auth(mon, aclname); @@ -1098,7 +1098,7 @@ static void hmp_acl_show(Monitor *mon, const QDict *qdict) } } -static void hmp_acl_reset(Monitor *mon, const QDict *qdict) +void hmp_acl_reset(Monitor *mon, const QDict *qdict) { const char *aclname = qdict_get_str(qdict, "aclname"); QAuthZList *auth = find_auth(mon, aclname); @@ -1115,7 +1115,7 @@ static void hmp_acl_reset(Monitor *mon, const QDict *qdict) monitor_printf(mon, "acl: removed all rules\n"); } -static void hmp_acl_policy(Monitor *mon, const QDict *qdict) +void hmp_acl_policy(Monitor *mon, const QDict *qdict) { const char *aclname = qdict_get_str(qdict, "aclname"); const char *policy = qdict_get_str(qdict, "policy"); @@ -1156,7 +1156,7 @@ static QAuthZListFormat hmp_acl_get_format(const char *match) } } -static void hmp_acl_add(Monitor *mon, const QDict *qdict) +void hmp_acl_add(Monitor *mon, const QDict *qdict) { const char *aclname = qdict_get_str(qdict, "aclname"); const char *match = qdict_get_str(qdict, "match"); @@ -1209,7 +1209,7 @@ static void hmp_acl_add(Monitor *mon, const QDict *qdict) } } -static void hmp_acl_remove(Monitor *mon, const QDict *qdict) +void hmp_acl_remove(Monitor *mon, const QDict *qdict) { const char *aclname = qdict_get_str(qdict, "aclname"); const char *match = qdict_get_str(qdict, "match"); diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h index 8f60ccc70a..bc8c9fa16b 100644 --- a/monitor/monitor-internal.h +++ b/monitor/monitor-internal.h @@ -183,4 +183,42 @@ int hmp_compare_cmd(const char *name, const char *list); void qmp_query_qmp_schema(QDict *qdict, QObject **ret_data, Error **errp); +void hmp_do_help_cmd(Monitor *mon, const QDict *qdict); +void hmp_trace_event(Monitor *mon, const QDict *qdict); +void hmp_info_help(Monitor *mon, const QDict *qdict); +void hmp_info_registers(Monitor *mon, const QDict *qdict); +void hmp_info_jit(Monitor *mon, const QDict *qdict); +void hmp_info_opcount(Monitor *mon, const QDict *qdict); +void hmp_info_sync_profile(Monitor *mon, const QDict *qdict); +void hmp_info_history(Monitor *mon, const QDict *qdict); +void hmp_info_cpustats(Monitor *mon, const QDict *qdict); +void hmp_info_trace_events(Monitor *mon, const QDict *qdict); +void hmp_logfile(Monitor *mon, const QDict *qdict); +void hmp_log(Monitor *mon, const QDict *qdict); +void hmp_singlestep(Monitor *mon, const QDict *qdict); +void hmp_gdbserver(Monitor *mon, const QDict *qdict); +void hmp_watchdog_action(Monitor *mon, const QDict *qdict); +void hmp_memory_dump(Monitor *mon, const QDict *qdict); +void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict); +void hmp_gpa2hva(Monitor *mon, const QDict *qdict); +void hmp_gva2gpa(Monitor *mon, const QDict *qdict); +void hmp_gpa2hpa(Monitor *mon, const QDict *qdict); +void hmp_do_print(Monitor *mon, const QDict *qdict); +void hmp_sum(Monitor *mon, const QDict *qdict); +void hmp_mouse_move(Monitor *mon, const QDict *qdict); +void hmp_mouse_button(Monitor *mon, const QDict *qdict); +void hmp_ioport_read(Monitor *mon, const QDict *qdict); +void hmp_ioport_write(Monitor *mon, const QDict *qdict); +void hmp_boot_set(Monitor *mon, const QDict *qdict); +void hmp_info_mtree(Monitor *mon, const QDict *qdict); +void hmp_info_profile(Monitor *mon, const QDict *qdict); +void hmp_info_capture(Monitor *mon, const QDict *qdict); +void hmp_stopcapture(Monitor *mon, const QDict *qdict); +void hmp_wavcapture(Monitor *mon, const QDict *qdict); +void hmp_acl_show(Monitor *mon, const QDict *qdict); +void hmp_acl_reset(Monitor *mon, const QDict *qdict); +void hmp_acl_policy(Monitor *mon, const QDict *qdict); +void hmp_acl_add(Monitor *mon, const QDict *qdict); +void hmp_acl_remove(Monitor *mon, const QDict *qdict); + #endif