Fix segfault with ram_size > 4095M without kvm
Currently, x86_64-softmmu qemu segfaults when trying to use > 4095M memsize. This patch adds a simple check and error message (much like the 2047 limit on 32-bit hosts) on ram_size in the control path after we determine we're not using kvm Upstream qemu-kvm is affected if using the -no-kvm option; this patch address the segfault there as well. Signed-off-by: Ryan Harper <ryanh@us.ibm.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
c248df6161
commit
b299b12b17
6
vl.c
6
vl.c
|
@ -5792,6 +5792,12 @@ int main(int argc, char **argv, char **envp)
|
||||||
fprintf(stderr, "failed to initialize KVM\n");
|
fprintf(stderr, "failed to initialize KVM\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/* without kvm enabled, we can only support 4095 MB RAM */
|
||||||
|
if (ram_size > (4095UL << 20)) {
|
||||||
|
fprintf(stderr, "qemu: without kvm support at most 4095 MB RAM can be simulated\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qemu_init_main_loop()) {
|
if (qemu_init_main_loop()) {
|
||||||
|
|
Loading…
Reference in New Issue