Right now when building the qemu command line, we try to do various
unconditional validations of the guest CPU against the host CPU. However
this checks are overly applied. The only time we should use the checks
are:
PowerPC : Add support for launching VM in 'compat' mode.
PowerISA allows processors to run VMs in binary compatibility ("compat")
mode supporting an older version of ISA. QEMU has recently added support to
explicitly denote a VM running in compatibility mode through commit 6d9412ea
& 8dfa3a5e85. Now, a "compat" mode VM can be run by invoking this qemu
commandline on a POWER8 host: -cpu host,compat=power7.
PowerPC:Improve PVR handling to fall back to cpu generation.
IBM Power processors differ uniquely across generations (such as power6,
power7, power8). Each generation signifies a new PowerISA version
that exhibits features unique to that generation.
The higher 16 bits of PVR for IBM Power processors encode the CPU
generation, while the CPU chip (sub)version is encoded in lower 16 bits.
Add documentation to explain how compat-mode can be invoked with libvirt
running on PowerPC architecture.
It also mentions that this change is available libvirt 1.2.11 onwards.
These patches have been tested -- they build fine against the libvirt 1.2.8 sources that are packaged with Ubuntu 14.10.
I have included a reference to the upstream commit in each case.
In order to solve this problem, the following libvirt commits are required. They were also accepted in vivid, as described by bug #1396070
commit 3bc6dda6c55ed2e bc8604b9dc04106 39eaede8cb
Author: Cole Robinson <email address hidden>
Date: Tue Sep 23 11:35:57 2014 -0400
qemu_command: Split qemuBuildCpuArgStr
Move the CPU mode/model handling to its own function. This is just
code movement and re-indentation.
commit 445a09bdc96ca6e 434bfdcca75752e e316289bbe
Author: Cole Robinson <email address hidden>
Date: Tue Sep 23 13:07:09 2014 -0400
qemu: Don't compare CPU against host for TCG
Right now when building the qemu command line, we try to do various
unconditional validations of the guest CPU against the host CPU. However
this checks are overly applied. The only time we should use the checks
are:
commit da636d83dc6b1d0 70a705786b4daef 8644eaca13
Author: Prerna Saxena <email address hidden>
Date: Tue Nov 4 22:51:26 2014 +0530
Cpu: Add support for Power LE Architecture.
This adds support for PowerPC Little Endian architecture.,
and allows libvirt to spawn VMs based on 'ppc64le' architecture.
commit addce06c9221f94 8072cd222b56ea9 c3f70ec066
Author: Prerna Saxena <email address hidden>
Date: Tue Nov 4 22:52:44 2014 +0530
PowerPC : Add support for launching VM in 'compat' mode.
PowerISA allows processors to run VMs in binary compatibility ("compat")
mode supporting an older version of ISA. QEMU has recently added support to
explicitly denote a VM running in compatibility mode through commit 6d9412ea
& 8dfa3a5e85. Now, a "compat" mode VM can be run by invoking this qemu
commandline on a POWER8 host: -cpu host,compat=power7.
commit 1e911742287d964 055f33ab76d53e6 73a9b4477f
Author: Prerna Saxena <email address hidden>
Date: Tue Nov 4 22:58:33 2014 +0530
PowerPC:Improve PVR handling to fall back to cpu generation.
IBM Power processors differ uniquely across generations (such as power6,
power7, power8). Each generation signifies a new PowerISA version
that exhibits features unique to that generation.
The higher 16 bits of PVR for IBM Power processors encode the CPU
generation, while the CPU chip (sub)version is encoded in lower 16 bits.
commit 9265fd19b68d787 e478f5e490524da 794965a5f1
Author: Prerna Saxena <email address hidden>
Date: Tue Nov 4 23:00:36 2014 +0530
docs: Add documentation for compat mode.
Add documentation to explain how compat-mode can be invoked with libvirt
running on PowerPC architecture.
It also mentions that this change is available libvirt 1.2.11 onwards.
Signed-off-by: Prerna Saxena <email address hidden>
Reviewed-by: Michal Privoznik <email address hidden>
commit 12c381114ce362e 49cadb730b5faab bc150a8878
Author: Prerna Saxena <email address hidden>
Date: Tue Nov 4 23:02:15 2014 +0530
Test: Add a testcase for PowerPC compat mode cpu specification.
This introduces a testcase for PowerPC compat mode cpu specification.
Signed-off-by: Prerna Saxena <email address hidden>
Reviewed-by: Michal Privoznik <email address hidden>
These patches have been tested -- they build fine against the libvirt 1.2.8 sources that are packaged with Ubuntu 14.10.
I have included a reference to the upstream commit in each case.