]> git.proxmox.com Git - mirror_qemu.git/commit
spapr: Correct RAM size calculation for HPT resizing
authorDavid Gibson <david@gibson.dropbear.id.au>
Tue, 10 Oct 2017 13:16:57 +0000 (00:16 +1100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Oct 2017 23:34:01 +0000 (10:34 +1100)
commitdb50f280cf5f714e64ff2b134aae138908f07502
tree9fe4c0de99f07e78aedaac3ad8e895439b067d42
parentbeba5c0fe48bf80011ceeaacf0df0c186e413bc0
spapr: Correct RAM size calculation for HPT resizing

In order to prevent the guest from forcing the allocation of large amounts
of qemu memory (or host kernel memory, in the case of KVM HV), we limit
the size of Hashed Page Table (HPT) it is allowed to allocated, based on
its RAM size.

However, the current calculation is not correct: it only adds up the size
of plugged memory, ignoring the base memory size.  This patch corrects it.

While we're there, use get_plugged_memory_size() instead of directly
calling pc_existing_dimms_capacity().  The only difference is that it
will abort on failure, which is right: a failure here indicates something
wrong within qemu.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
hw/ppc/spapr_hcall.c