[libvirt] [PATCH 2/2] qemu: add hv_crash support

Dmitry Andreev dandreev at virtuozzo.com
Mon Oct 26 10:23:33 UTC 2015


XML:
<features>
  <hyperv>
    <crash state='on'/>
  </hyperv>
</features>

QEMU command line:
qemu -cpu <cpu_model>,hv_crash
---
 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'/>
-- 
1.8.3.1




More information about the libvir-list mailing list