diff options
author | Dominik Dingel | 2014-12-01 17:24:42 +0100 |
---|---|---|
committer | Christian Borntraeger | 2015-12-15 17:08:21 +0100 |
commit | a3a92c31bf0b57ad0ca7f092a6f3a57168ba9ae2 (patch) | |
tree | 1e8fd0810ebeb5331a8cb3ec700b023a17162aaa /arch/s390/include/asm/kvm_host.h | |
parent | KVM: s390: obey kptr_restrict in traces (diff) | |
download | kernel-qcow2-linux-a3a92c31bf0b57ad0ca7f092a6f3a57168ba9ae2.tar.gz kernel-qcow2-linux-a3a92c31bf0b57ad0ca7f092a6f3a57168ba9ae2.tar.xz kernel-qcow2-linux-a3a92c31bf0b57ad0ca7f092a6f3a57168ba9ae2.zip |
KVM: s390: fix mismatch between user and in-kernel guest limit
While the userspace interface requests the maximum size the gmap code
expects to get a maximum address.
This error resulted in bigger page tables than necessary for some guest
sizes, e.g. a 2GB guest used 3 levels instead of 2.
At the same time we introduce KVM_S390_NO_MEM_LIMIT, which allows in a
bright future that a guest spans the complete 64 bit address space.
We also switch to TASK_MAX_SIZE for the initial memory size, this is a
cosmetic change as the previous size also resulted in a 4 level pagetable
creation.
Reported-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/kvm_host.h')
-rw-r--r-- | arch/s390/include/asm/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index 12e9291da267..c83144110ea9 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h @@ -627,6 +627,7 @@ struct kvm_arch{ struct kvm_s390_float_interrupt float_int; struct kvm_device *flic; struct gmap *gmap; + unsigned long mem_limit; int css_support; int use_irqchip; int use_cmma; |