OSDN Git Service

PPC: KVM: store SLB slot number
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Fri, 31 Jan 2014 02:24:00 +0000 (13:24 +1100)
committerAlexander Graf <agraf@suse.de>
Wed, 5 Mar 2014 02:06:44 +0000 (03:06 +0100)
commit69b31b907b1114b4ee24faa00582fd5ecaaccf5c
treef6534b634ca195965bf590bbba3a06bb17ddca5e
parent66c3e32841f185243efa59381ab7721b24deca35
PPC: KVM: store SLB slot number

When ppc_store_slb() is called from kvm_arch_get_registers(), it stores
a SLB in CPUPPCState::slb[slot]. However it drops the slot number from
ESID so when kvm_arch_put_registers() puts SLBs back to KVM, they do not
have correct "index" field anymore. This broke migration with LPCR_AIR
enabled as now the guest is handling interrupts in virtual mode and unable
to reconstruct correct SLBs anymore.

This adds "index" field for valid SLBs when putting them to KVM.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Alexander Graf <agraf@suse.de>
target-ppc/kvm.c