
On Mon, Dec 02, 2013 at 11:13:33AM +0100, Peter Krempa wrote:
On 12/02/13 07:11, Hu Tao wrote:
This patch adds a new xml element devices/pvpanic to support qemu device pvpanic. It can be used to receive guest panic notification.
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com> --- docs/formatdomain.html.in | 25 +++++++++++++++++ src/conf/domain_conf.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++ src/conf/domain_conf.h | 9 +++++++ 3 files changed, 102 insertions(+)
A few issues I see at first glance:
1) you didn't add ABI compatibility check for the pvpanic device 2) XML->XML tests are missing 3) RNG schemas for the new element are missing 4) XML->qemu commandline tests are missing (in 2/2)
Thanks, I'll add the missing parts in next version.
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 1850a2b..0a72baa 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -5080,6 +5080,31 @@ qemu-kvm -net nic,model=? /dev/null </dd> </dl>
+ <h4><a name="elementsPvpanic">pvpanic device</a></h4> + <p> + pvpanic device enables libvirt to receive panic notification from a QEMU + guest. + <span class="since">Since 1.3.0, QEMU and KVM only</span>
1.3.0? the since tag is supposed to contain a libvirt version. 1.3.0 will not happen that soon. 1.2.1 is what you are looking for.
OK.
+ </p> + <p> + Example: usage of pvpanic configuration + </p> +<pre> + ... + <devices> + <pvpanic ioport='0x505'/> + </devices> + ... +</pre> + <dl> + <dt><code>ioport</code></dt> + <dd> + <p> + ioport used by pvpanic. + </p> + </dd> + </dl> + <h3><a name="seclabel">Security label</a></h3>
<p> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 140eb80..1b8f66f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c
...
@@ -15715,6 +15768,18 @@ virDomainWatchdogDefFormat(virBufferPtr buf, return 0; }
+static int virDomainPvpanicDefFormat(virBufferPtr buf, + virDomainPvpanicDefPtr def) +{ + if (def->ioport > 0) { + virBufferAsprintf(buf, " <pvpanic ioport='%#x'/>\n", + def->ioport); + } else { + virBufferAsprintf(buf, " <pvpanic/>\n");
Would break syntax-check. For static strings use virBufferAddLit.
OK.
+ } + + return 0; +}
static int virDomainRNGDefFormat(virBufferPtr buf,