From 7bf69e0208cfc0468f96ac20612d04f915321c77 Mon Sep 17 00:00:00 2001 From: Mikhail Feoktistov Date: Fri, 13 Mar 2015 18:40:40 +0300 Subject: [PATCH] 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 --- src/parallels/parallels_sdk.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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;