On 10/26/2015 01:23 PM, Dmitry Andreev wrote:
XML:
<features>
<hyperv>
<crash state='on'/>
</hyperv>
</features>
QEMU command line:
qemu -cpu <cpu_model>,hv_crash
ACK from me, but I think someone else should look at these patches.
---
src/qemu/qemu_command.c | 2 ++
tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml | 1 +
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 4 ++--
tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml | 1 +
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 8824541..e0693af 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7643,6 +7643,7 @@ qemuBuildCpuArgStr(virQEMUDriverPtr driver,
switch ((virDomainHyperv) i) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
+ case VIR_DOMAIN_HYPERV_CRASH:
if (def->hyperv_features[i] == VIR_TRISTATE_SWITCH_ON)
virBufferAsprintf(&buf, ",hv_%s",
virDomainHypervTypeToString(i));
@@ -12826,6 +12827,7 @@ qemuParseCommandLineCPU(virDomainDefPtr dom,
switch ((virDomainHyperv) f) {
case VIR_DOMAIN_HYPERV_RELAXED:
case VIR_DOMAIN_HYPERV_VAPIC:
+ case VIR_DOMAIN_HYPERV_CRASH:
if (value) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("HyperV feature '%s' should not
"
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml
b/tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml
index 4ec16d5..7c0b02b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml
@@ -14,6 +14,7 @@
<relaxed state='off'/>
<vapic state='off'/>
<spinlocks state='off'/>
+ <crash state='off'/>
</hyperv>
</features>
<clock offset='utc'/>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hyperv.args
b/tests/qemuxml2argvdata/qemuxml2argv-hyperv.args
index 91b3570..d278acc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hyperv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hyperv.args
@@ -1,5 +1,5 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu -S -M pc \
--cpu qemu32,hv_relaxed,hv_vapic,hv_spinlocks=0x2fff -m 214 -smp 6 -nographic -monitor \
-unix:/tmp/test-monitor,server,nowait -boot n -usb -net none -serial none \
+-cpu qemu32,hv_relaxed,hv_vapic,hv_spinlocks=0x2fff,hv_crash -m 214 -smp 6 -nographic \
+-monitor unix:/tmp/test-monitor,server,nowait -boot n -usb -net none -serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml
b/tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml
index 5b80040..1740ebf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml
@@ -14,6 +14,7 @@
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='12287'/>
+ <crash state='on'/>
</hyperv>
</features>
<clock offset='utc'/>