aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorRyan Harper <ryanh@us.ibm.com>2010-02-23 09:13:14 -0600
committerAurelien Jarno <aurelien@aurel32.net>2010-03-06 22:30:25 +0100
commitb299b12b176792db8ff47c4d22fa62e4d64a0614 (patch)
tree0058be659b7c0ca79a5ff08896840bc44cf96ce4 /vl.c
parenttarget-i386: Fix long jumps/calls in long mode with REX.W set (diff)
downloadqemu-kvm-b299b12b176792db8ff47c4d22fa62e4d64a0614.tar.gz
qemu-kvm-b299b12b176792db8ff47c4d22fa62e4d64a0614.tar.bz2
qemu-kvm-b299b12b176792db8ff47c4d22fa62e4d64a0614.zip
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>
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vl.c b/vl.c
index 2dbb6dbc1..bb9c21ce8 100644
--- a/vl.c
+++ b/vl.c
@@ -5792,6 +5792,12 @@ int main(int argc, char **argv, char **envp)
fprintf(stderr, "failed to initialize KVM\n");
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()) {