]> git.proxmox.com Git - qemu.git/commitdiff
s390x: complain when allocating ram fails
authorAlexander Graf <agraf@suse.de>
Fri, 20 May 2011 15:33:28 +0000 (17:33 +0200)
committerAlexander Graf <agraf@suse.de>
Fri, 20 May 2011 15:35:13 +0000 (17:35 +0200)
While trying out the > 64GB guest RAM patch, I hit some virtual address
limitations of my host system, which resulted in mmap failing. Unfortunately,
qemu didn't tell me about this failure, but just used the NULL pointer
happily, resulting in either segmentation faults or other fun errors.

To spare other users from tracing this down, let's print a nice message
instead so the user can figure out what's wrong from there.

Signed-off-by: Alexander Graf <agraf@suse.de>
exec.c

diff --git a/exec.c b/exec.c
index 3f96d44101478f290358da90c8bd669d9706f456..a4785b25f8f734460d4912ecabdf5161358e8161 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -2918,6 +2918,10 @@ ram_addr_t qemu_ram_alloc_from_ptr(DeviceState *dev, const char *name,
             new_block->host = mmap((void*)0x800000000, size,
                                    PROT_EXEC|PROT_READ|PROT_WRITE,
                                    MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
+            if (new_block->host == MAP_FAILED) {
+                fprintf(stderr, "Allocating RAM failed\n");
+                abort();
+            }
 #else
             if (xen_mapcache_enabled()) {
                 xen_ram_alloc(new_block->offset, size);