mirror of https://gitee.com/openkylin/linux.git
KVM: PPC: Book3S HV: Clear partition table entry on vm teardown
When destroying a VM we return the LPID to the pool, however we never zero the partition table entry. This is instead done when we reallocate the LPID. Zero the partition table entry on VM teardown before returning the LPID to the pool. This means if we were running as a nested hypervisor the real hypervisor could use this to determine when it can free resources. Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
fd0944baad
commit
89329c0be8
|
@ -4509,13 +4509,19 @@ static void kvmppc_core_destroy_vm_hv(struct kvm *kvm)
|
||||||
|
|
||||||
kvmppc_free_vcores(kvm);
|
kvmppc_free_vcores(kvm);
|
||||||
|
|
||||||
kvmppc_free_lpid(kvm->arch.lpid);
|
|
||||||
|
|
||||||
if (kvm_is_radix(kvm))
|
if (kvm_is_radix(kvm))
|
||||||
kvmppc_free_radix(kvm);
|
kvmppc_free_radix(kvm);
|
||||||
else
|
else
|
||||||
kvmppc_free_hpt(&kvm->arch.hpt);
|
kvmppc_free_hpt(&kvm->arch.hpt);
|
||||||
|
|
||||||
|
/* Perform global invalidation and return lpid to the pool */
|
||||||
|
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
|
||||||
|
kvm->arch.process_table = 0;
|
||||||
|
kvmppc_setup_partition_table(kvm);
|
||||||
|
}
|
||||||
|
kvmppc_free_lpid(kvm->arch.lpid);
|
||||||
|
|
||||||
kvmppc_free_pimap(kvm);
|
kvmppc_free_pimap(kvm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue