Skip to content

Commit

Permalink
hmp: Add 'info hotpluggable-cpus' HMP command
Browse files Browse the repository at this point in the history
This is the HMP equivalent for QMP query-hotpluggable-cpus.

Signed-off-by: Bharata B Rao <[email protected]>
Reviewed-by: David Gibson <[email protected]>
[dwg: Fixed problem with printf formats on 32-bit host]
Signed-off-by: David Gibson <[email protected]>
  • Loading branch information
Bharata B Rao authored and dgibson committed Jun 17, 2016
1 parent d463354 commit d2d8d46
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
14 changes: 14 additions & 0 deletions hmp-commands-info.hx
Original file line number Diff line number Diff line change
Expand Up @@ -798,6 +798,20 @@ STEXI
@item info dump
@findex dump
Display the latest dump status.
ETEXI

{
.name = "hotpluggable-cpus",
.args_type = "",
.params = "",
.help = "Show information about hotpluggable CPUs",
.mhandler.cmd = hmp_hotpluggable_cpus,
},

STEXI
@item info hotpluggable-cpus
@findex hotpluggable-cpus
Show information about hotpluggable CPUs
ETEXI

STEXI
Expand Down
42 changes: 42 additions & 0 deletions hmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2433,3 +2433,45 @@ void hmp_info_dump(Monitor *mon, const QDict *qdict)

qapi_free_DumpQueryResult(result);
}

void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
{
Error *err = NULL;
HotpluggableCPUList *l = qmp_query_hotpluggable_cpus(&err);
HotpluggableCPUList *saved = l;
CpuInstanceProperties *c;

if (err != NULL) {
hmp_handle_error(mon, &err);
return;
}

monitor_printf(mon, "Hotpluggable CPUs:\n");
while (l) {
monitor_printf(mon, " type: \"%s\"\n", l->value->type);
monitor_printf(mon, " vcpus_count: \"%" PRIu64 "\"\n",
l->value->vcpus_count);
if (l->value->has_qom_path) {
monitor_printf(mon, " qom_path: \"%s\"\n", l->value->qom_path);
}

c = l->value->props;
monitor_printf(mon, " CPUInstance Properties:\n");
if (c->has_node) {
monitor_printf(mon, " node: \"%" PRIu64 "\"\n", c->node);
}
if (c->has_socket) {
monitor_printf(mon, " socket: \"%" PRIu64 "\"\n", c->socket);
}
if (c->has_core) {
monitor_printf(mon, " core: \"%" PRIu64 "\"\n", c->core);
}
if (c->has_thread) {
monitor_printf(mon, " thread: \"%" PRIu64 "\"\n", c->thread);
}

l = l->next;
}

qapi_free_HotpluggableCPUList(saved);
}
1 change: 1 addition & 0 deletions hmp.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,5 +132,6 @@ void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
void hmp_info_dump(Monitor *mon, const QDict *qdict);
void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);

#endif

0 comments on commit d2d8d46

Please sign in to comment.