[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qemu v2] spapr/target-ppc/kvm: Only add hcall-in
Re: [Qemu-devel] [PATCH qemu v2] spapr/target-ppc/kvm: Only add hcall-instructions if KVM supports it
Mon, 21 Mar 2016 15:17:47 +1100
On Mon, Mar 21, 2016 at 01:14:02PM +1100, Alexey Kardashevskiy wrote:
> ePAPR defines "hcall-instructions" device-tree property which contains
> code to call hypercalls in ePAPR paravirtualized guests. In general
> pseries guests should not be using this facility (as there is sPAPR
> interface) and this property should not be present in the device tree
> for pseries guests.
> However a while ago this interface was chosen to implement a hypervisor
> interface to speed up PR KVM guests and since then the property is always
> present in the device tree. All KVM guests use it at least to read features
> via the KVM_HC_FEATURES hypercall.
> The property is populated by the code returned from the KVM's
> KVM_PPC_GET_PVINFO ioctl; if not implemented in the KVM, QEMU writes there
> "li r3, -1; nop; nop; nop". If QEMU does not create the property, and
> the guest kernel is compiled with CONFIG_EPAPR_PARAVIRT (which is
> normally the case), there is exactly the same stub at
> @epapr_hypercall_start already.
> Rather than maintaining the property (which used to be BE only; then was
> fixed to be endian-agnostic) and confusing the guest (which might think
> there is ePAPR host while there is none), it makes sense not to create
> the property in the device tree in the first place if the host kernel
> does not implement it.
> This changes kvmppc_get_hypercall() to return 1 if the host kernel
> does not implement KVM_CAP_PPC_GET_PVINFO. The caller can use it to decide
> on whether to create the property or not.
> This changes the pseries machine to not create the property if KVM does
> not implement KVM_PPC_GET_PVINFO. In practice this means that from now
> on the property will not be created if either HV KVM or TCG is used.
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
Further reworded the commit message and merged to ppc-for-2.6.
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
Description: PGP signature