Subject: Re: KVM: PPC: Book3S HV: Fix pending_pri value in kvmppc_xive_get_icp()

From: Michael Ellerman <[email-masked]>
Date: Fri, 22 Dec 2017 22:24:04 +1100 (AEDT)

On Tue, 2017-12-12 at 17:23:56 UTC, Laurent Vivier wrote:
> When we migrate a VM from a POWER8 host (XICS) to a POWER9 host
> (XICS-on-XIVE), we have an error:
> 
> qemu-kvm: Unable to restore KVM interrupt controller state \
>           (0xff000000) for CPU 0: Invalid argument
> 
> This is because kvmppc_xics_set_icp() checks the new state
> is internaly consistent, and especially:
> 
> ...
>    1129         if (xisr == 0) {
>    1130                 if (pending_pri != 0xff)
>    1131                         return -EINVAL;
> ...
> 
> On the other side, kvmppc_xive_get_icp() doesn't set
> neither the pending_pri value, nor the xisr value (set to 0)
> (and kvmppc_xive_set_icp() ignores the pending_pri value)
> 
> As xisr is 0, pending_pri must be set to 0xff.
> 
> Signed-off-by: Laurent Vivier <[email-masked]>
> Acked-by: Benjamin Herrenschmidt <[email-masked]>

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/7333b5aca412d6ad02667b5a513485

cheers