From: Christian Borntraeger Date: Wed, 25 Sep 2019 07:45:50 +0000 (+0200) Subject: s390/kvm: split kvm mem slots at 4TB X-Git-Tag: v4.2.0-rc0~75^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c5b9ce518c0551d0198bcddadc82e03de9ac8de9;p=thirdparty%2Fqemu.git s390/kvm: split kvm mem slots at 4TB Instead of splitting at an unaligned address, we can simply split at 4TB. Signed-off-by: Christian Borntraeger Acked-by: Igor Mammedov --- diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index 54864c259c5..c24c869e770 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -126,12 +126,11 @@ /* * KVM does only support memory slots up to KVM_MEM_MAX_NR_PAGES pages * as the dirty bitmap must be managed by bitops that take an int as - * position indicator. If we have a guest beyond that we will split off - * new subregions. The split must happen on a segment boundary (1MB). + * position indicator. This would end at an unaligned address + * (0x7fffff00000). As future variants might provide larger pages + * and to make all addresses properly aligned, let us split at 4TB. */ -#define KVM_MEM_MAX_NR_PAGES ((1ULL << 31) - 1) -#define SEG_MSK (~0xfffffULL) -#define KVM_SLOT_MAX_BYTES ((KVM_MEM_MAX_NR_PAGES * TARGET_PAGE_SIZE) & SEG_MSK) +#define KVM_SLOT_MAX_BYTES (4UL * TiB) static CPUWatchpoint hw_watchpoint; /*