提交 ea45b23c 编写于 作者: G Giuseppe Scrivano 提交者: Eric Blake

virsh: add function to get the CPU models for an arch

Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: NEric Blake <eblake@redhat.com>
上级 dda4548c
...@@ -664,6 +664,54 @@ cmdURI(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) ...@@ -664,6 +664,54 @@ cmdURI(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
return true; return true;
} }
/*
* "cpu-models" command
*/
static const vshCmdInfo info_cpu_models[] = {
{.name = "help",
.data = N_("CPU models")
},
{.name = "desc",
.data = N_("Get the CPU models for an arch.")
},
{.name = NULL}
};
static const vshCmdOptDef opts_cpu_models[] = {
{.name = "arch",
.type = VSH_OT_DATA,
.flags = VSH_OFLAG_REQ,
.help = N_("architecture")
},
{.name = NULL}
};
static bool
cmdCPUModelNames(vshControl *ctl, const vshCmd *cmd)
{
char **models;
size_t i;
int nmodels;
const char *arch = NULL;
if (vshCommandOptStringReq(ctl, cmd, "arch", &arch) < 0)
return false;
nmodels = virConnectGetCPUModelNames(ctl->conn, arch, &models, 0);
if (nmodels < 0) {
vshError(ctl, "%s", _("failed to get CPU model names"));
return false;
}
for (i = 0; i < nmodels; i++) {
vshPrint(ctl, "%s\n", models[i]);
VIR_FREE(models[i]);
}
VIR_FREE(models);
return true;
}
/* /*
* "version" command * "version" command
*/ */
...@@ -889,6 +937,12 @@ const vshCmdDef hostAndHypervisorCmds[] = { ...@@ -889,6 +937,12 @@ const vshCmdDef hostAndHypervisorCmds[] = {
.info = info_capabilities, .info = info_capabilities,
.flags = 0 .flags = 0
}, },
{.name = "cpu-models",
.handler = cmdCPUModelNames,
.opts = opts_cpu_models,
.info = info_cpu_models,
.flags = 0
},
{.name = "freecell", {.name = "freecell",
.handler = cmdFreecell, .handler = cmdFreecell,
.opts = opts_freecell, .opts = opts_freecell,
......
...@@ -163,6 +163,7 @@ group as an option. For example: ...@@ -163,6 +163,7 @@ group as an option. For example:
Host and Hypervisor (help keyword 'host'): Host and Hypervisor (help keyword 'host'):
capabilities capabilities capabilities capabilities
cpu-models show the CPU models for an architecture
connect (re)connect to hypervisor connect (re)connect to hypervisor
freecell NUMA free memory freecell NUMA free memory
hostname print the hypervisor hostname hostname print the hypervisor hostname
...@@ -358,6 +359,10 @@ current domain is in. ...@@ -358,6 +359,10 @@ current domain is in.
=over 4 =over 4
=item B<cpu-models> I<arch>
Print the list of CPU models known for the specified architecture.
=item B<running> =item B<running>
The domain is currently running on a CPU The domain is currently running on a CPU
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册