提交 120ac100 编写于 作者: J Jiri Denemark

conf: Advertise migratable attribute for CPU in domcaps

Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
上级 524f5f00
......@@ -201,7 +201,12 @@
&lt;domainCapabilities&gt;
...
&lt;cpu&gt;
&lt;mode name='host-passthrough' supported='yes'/&gt;
&lt;mode name='host-passthrough' supported='yes'&gt;
&lt;enum name='hostPassthroughMigratable'&gt;
&lt;value&gt;on&lt;/value&gt;
&lt;value&gt;off&lt;/value&gt;
&lt;/enum&gt;
&lt;/mode&gt;
&lt;mode name='host-model' supported='yes'&gt;
&lt;model fallback='allow'&gt;Broadwell&lt;/model&gt;
&lt;vendor&gt;Intel&lt;/vendor&gt;
......@@ -227,7 +232,11 @@
<dl>
<dt><code>host-passthrough</code></dt>
<dd>No mode specific details are provided.</dd>
<dd>
The <code>hostPassthroughMigratable</code> enum shows possible values
of the <code>migratable</code> attribute for the &lt;cpu&gt; element
with <code>mode='host-passthrough'</code> in the domain XML.
</dd>
<dt><code>host-model</code></dt>
<dd>
......
......@@ -99,6 +99,9 @@
<value>host-passthrough</value>
</attribute>
<ref name='supported'/>
<optional>
<ref name='enum'/>
</optional>
</element>
</define>
......
......@@ -412,10 +412,21 @@ virDomainCapsCPUFormat(virBufferPtr buf,
virBufferAddLit(buf, "<cpu>\n");
virBufferAdjustIndent(buf, 2);
virBufferAsprintf(buf, "<mode name='%s' supported='%s'/>\n",
virBufferAsprintf(buf, "<mode name='%s' supported='%s'",
virCPUModeTypeToString(VIR_CPU_MODE_HOST_PASSTHROUGH),
cpu->hostPassthrough ? "yes" : "no");
if (cpu->hostPassthrough && cpu->hostPassthroughMigratable.report) {
virBufferAddLit(buf, ">\n");
virBufferAdjustIndent(buf, 2);
ENUM_PROCESS(cpu, hostPassthroughMigratable,
virTristateSwitchTypeToString);
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</mode>\n");
} else {
virBufferAddLit(buf, "/>\n");
}
virBufferAsprintf(buf, "<mode name='%s' ",
virCPUModeTypeToString(VIR_CPU_MODE_HOST_MODEL));
if (cpu->hostModel) {
......
......@@ -145,6 +145,7 @@ typedef struct _virDomainCapsCPU virDomainCapsCPU;
typedef virDomainCapsCPU *virDomainCapsCPUPtr;
struct _virDomainCapsCPU {
bool hostPassthrough;
virDomainCapsEnum hostPassthroughMigratable;
virCPUDefPtr hostModel;
virDomainCapsCPUModelsPtr custom;
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册