Documentation/Platforms/POWER: Difference between revisions

From QEMU
(Add some information about running pseries guests on QEMU)
 
(Redirecting to the most up to date documentatation, that is updated with the QEMU source code and automatically published.)
Tag: Replaced
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page lists some information about running POWER Linux guests with QEMU (aka. sPAPR / pSeries / System p guests). You can select this machine type by running qemu-system-ppc64 with the "<code>-M pseries</code>" option (or simply omit the machine option since it is currently the default for the qemu-system-ppc64 binary).
For proper documentation on Power Linux guests with QEMU (a.k.a. sPAPR / pSeries / System p guests), take a look at [https://qemu.readthedocs.io/en/latest/system/ppc/pseries.html QEMU docs]: source code at <code>docs/system/ppc/pseries.rst</code>.
 
== Switching between the KVM-PR and KVM-HV kernel module ==
 
Currently, there are two implementations of KVM on POWER, kvm_hv.ko and kvm_pr.ko:
 
# KVM-PR:
#* Uses the so-called "PRoblem state" of the ppc CPUs to run the guests, i.e. the VM is run in user mode and all privileged instructions trap and have to be emulated by the host.
#* Guests that use a lot of privileged instructions are running quite slow this way...
#* ... but the benefit is that this kernel module should run on pretty much every PPC hardware, and is able to emulate a lot of guest CPUs.
#* Can also be used to run other PowerPC guests like an emulated PowerMac.
# KVM-HV:
#* Requires hardware support of modern POWER server CPUs (like the recent POWER7/POWER8 CPUs).
#* Guests that use a lot of privileged instructions are running much faster than with KVM-PR.
#* The guest CPU has to be very similar to the host CPU this way (e.g. you can not specify an embedded PPC CPU for the guest with KVM-HV).
#* Can only be used to run sPAPR (pseries) guests.
 
If your host supports both KVM modes, and both KVM kernel modules are loaded, you can switch between the two modes with the "kvm-type" parameter:
* Use "<code>qemu-system-ppc64 -M pseries,kvm-type=PR</code>" to use the kvm_pr.ko kernel module.
* Use "<code>qemu-system-ppc64 -M pseries,kvm-type=HV</code>" to use kvm_hv.ko instead.
 
== Links ==
 
* [https://members.openpowerfoundation.org/document/dl/469 Linux on Power Architecture Platform Reference specification]

Latest revision as of 20:05, 14 January 2022

For proper documentation on Power Linux guests with QEMU (a.k.a. sPAPR / pSeries / System p guests), take a look at QEMU docs: source code at docs/system/ppc/pseries.rst.