Commit e1e84ba0 authored by Markus Armbruster's avatar Markus Armbruster Committed by Anthony Liguori
Browse files

exec: Clean up unnecessary S390 ifdeffery



Another issue missed in commit fdec9918 is -mem-path: it needs to be
rejected only for old S390 KVM, not for any S390.  Not that I
personally care, but the ifdeffery in qemu_ram_alloc_from_ptr() annoys
me.

Note that this doesn't actually make -mem-path work, as the kernel
doesn't (yet?)  support large pages in the host for KVM guests.  Clean
it up anyway.

Thanks to Christian Borntraeger for pointing out the S390 kernel
limitations.

Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Acked-by: default avatarLaszlo Ersek <lersek@redhat.com>
Acked-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Message-id: 1375276272-15988-7-git-send-email-armbru@redhat.com
Signed-off-by: default avatarAnthony Liguori <anthony@codemonkey.ws>
parent 2eb9fbaa
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -892,7 +892,7 @@ void qemu_mutex_unlock_ramlist(void)
    qemu_mutex_unlock(&ram_list.mutex);
}

#if defined(__linux__) && !defined(TARGET_S390X)
#ifdef __linux__

#include <sys/vfs.h>

@@ -995,6 +995,14 @@ static void *file_ram_alloc(RAMBlock *block,
    block->fd = fd;
    return area;
}
#else
static void *file_ram_alloc(RAMBlock *block,
                            ram_addr_t memory,
                            const char *path)
{
    fprintf(stderr, "-mem-path not supported on this host\n");
    exit(1);
}
#endif

static ram_addr_t find_ram_offset(ram_addr_t size)
@@ -1128,12 +1136,17 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
        xen_ram_alloc(new_block->offset, size, mr);
    } else {
        if (mem_path) {
#if defined (__linux__) && !defined(TARGET_S390X)
            new_block->host = file_ram_alloc(new_block, size, mem_path);
#else
            fprintf(stderr, "-mem-path option unsupported\n");
            if (phys_mem_alloc != qemu_anon_ram_alloc) {
                /*
                 * file_ram_alloc() needs to allocate just like
                 * phys_mem_alloc, but we haven't bothered to provide
                 * a hook there.
                 */
                fprintf(stderr,
                        "-mem-path not supported with this accelerator\n");
                exit(1);
#endif
            }
            new_block->host = file_ram_alloc(new_block, size, mem_path);
        }
        if (!new_block->host) {
            new_block->host = phys_mem_alloc(size);