From: Mikhail Feoktistov Date: Fri, 13 Mar 2015 15:40:40 +0000 (+0300) Subject: parallels: set cpu mode when applying xml configuration X-Git-Tag: v1.2.14-rc1~124 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bf69e0208cfc0468f96ac20612d04f915321c77;p=thirdparty%2Flibvirt.git parallels: set cpu mode when applying xml configuration 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 Signed-off-by: Maxim Nestratov Signed-off-by: Michal Privoznik --- diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c index 0b2478e418..3a7efe3780 100644 --- a/src/parallels/parallels_sdk.c +++ b/src/parallels/parallels_sdk.c @@ -2886,6 +2886,21 @@ prlsdkDoApplyConfig(PRL_HANDLE sdkdom, prlsdkCheckRetGoto(pret, error); VIR_FREE(mask); + 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: %s"), + virArchToString(def->os.arch)); + goto error; + } + prlsdkCheckRetGoto(pret, error); + if (prlsdkClearDevices(sdkdom) < 0) goto error;