diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-08-25 06:38:57 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-09-10 06:19:15 -0400 |
commit | 0349985add77ef5c9da8a75f4a9855977f4197d9 (patch) | |
tree | 894cfe46f69bc12a3fe773a5c41c640374e4dc20 /arch/s390/kvm/kvm-s390.c | |
parent | 614aeab4dcd0aafb1538d5035eb9855f15b84014 (diff) |
KVM: s390: Limit guest size to 16TB
Currently we fill up a full 5 level page table to hold the guest
mapping. Since commit "support gmap page tables with less than 5
levels" we can do better.
Having more than 4 TB might be useful for some testing scenarios,
so let's just limit ourselves to 16TB guest size.
Having more than that is totally untested as I do not have enough
swap space/memory.
We continue to allow ucontrol the full size.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/kvm-s390.c')
-rw-r--r-- | arch/s390/kvm/kvm-s390.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 2037738d01a0..b95d4a481b0c 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
@@ -458,7 +458,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) | |||
458 | if (type & KVM_VM_S390_UCONTROL) { | 458 | if (type & KVM_VM_S390_UCONTROL) { |
459 | kvm->arch.gmap = NULL; | 459 | kvm->arch.gmap = NULL; |
460 | } else { | 460 | } else { |
461 | kvm->arch.gmap = gmap_alloc(current->mm, -1UL); | 461 | kvm->arch.gmap = gmap_alloc(current->mm, (1UL << 44) - 1); |
462 | if (!kvm->arch.gmap) | 462 | if (!kvm->arch.gmap) |
463 | goto out_nogmap; | 463 | goto out_nogmap; |
464 | kvm->arch.gmap->private = kvm; | 464 | kvm->arch.gmap->private = kvm; |