[libvirt] [PATCH 01/10] parallels: set cpu mode when applying xml configuration

Maxim Nestratov mnestratov at parallels.com
Tue Mar 3 20:32:11 UTC 2015


From: Mikhail Feoktistov <mfeoktistov at parallels.com>

Otherwise exporting existing domain config and defining a new one like this:
virsh -c parallels:///system dumpxml instance01 > my.xml
virsh -c parallels:///system define my.xml
leads to an error because PCS default x64 mode turns to x32.
Thus, we need to set correct cpuMode in prlsdkDoApplyConfig() explicitly.

Signed-off-by: Mikhail Feoktistov <mfeoktistov at parallels.com>
Signed-off-by: Maxim Nestratov <mnestratov at parallels.com>
---
 src/parallels/parallels_sdk.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c
index fec145d..9a2d658 100644
--- a/src/parallels/parallels_sdk.c
+++ b/src/parallels/parallels_sdk.c
@@ -2869,6 +2869,19 @@ prlsdkDoApplyConfig(PRL_HANDLE sdkdom,
     pret = PrlVmCfg_SetCpuCount(sdkdom, def->vcpus);
     prlsdkCheckRetGoto(pret, error);
 
+    switch (def->os.arch) {
+        case VIR_ARCH_X86_64:
+            pret = PrlVmCfg_SetCpuMode(sdkdom, PCM_CPU_MODE_64);
+            break;
+        case VIR_ARCH_I686:
+            pret = PrlVmCfg_SetCpuMode(sdkdom, PCM_CPU_MODE_32);
+            break;
+        default:
+            virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown CPU mode: %X"), def->os.arch);
+            goto error;
+    }
+    prlsdkCheckRetGoto(pret, error);
+
     if (prlsdkClearDevices(sdkdom) < 0)
         goto error;
 
-- 
1.7.1




More information about the libvir-list mailing list