Browse Source

KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode

We use cma reserved area for creating guest hash page table.
Don't do the reservation in non-hypervisor mode. This avoids unnecessary
CMA reservation when booting with limited memory configs like
fadump and kdump.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Aneesh Kumar K.V 11 years ago
parent
commit
cec26bc3c1
1 changed files with 6 additions and 0 deletions
  1. 6 0
      arch/powerpc/kvm/book3s_hv_builtin.c

+ 6 - 0
arch/powerpc/kvm/book3s_hv_builtin.c

@@ -163,6 +163,12 @@ void __init kvm_cma_reserve(void)
 	unsigned long align_size;
 	unsigned long align_size;
 	struct memblock_region *reg;
 	struct memblock_region *reg;
 	phys_addr_t selected_size = 0;
 	phys_addr_t selected_size = 0;
+
+	/*
+	 * We need CMA reservation only when we are in HV mode
+	 */
+	if (!cpu_has_feature(CPU_FTR_HVMODE))
+		return;
 	/*
 	/*
 	 * We cannot use memblock_phys_mem_size() here, because
 	 * We cannot use memblock_phys_mem_size() here, because
 	 * memblock_analyze() has not been called yet.
 	 * memblock_analyze() has not been called yet.