[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 6/8] exec: Clean up unnecessary S390 ifdeffery
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 6/8] exec: Clean up unnecessary S390 ifdeffery |
Date: |
Wed, 19 Jun 2013 13:44:22 +0200 |
Another issue missed in commit fdec991 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: Markus Armbruster <address@hidden>
---
exec.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/exec.c b/exec.c
index a0f18fe..14477ea 100644
--- a/exec.c
+++ b/exec.c
@@ -862,7 +862,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>
@@ -965,6 +965,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)
@@ -1103,12 +1111,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)
+ 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);
+ }
new_block->host = file_ram_alloc(new_block, size, mem_path);
-#else
- fprintf(stderr, "-mem-path option unsupported\n");
- exit(1);
-#endif
}
if (!new_block->host) {
new_block->host = phys_mem_alloc(size);
--
1.7.11.7
- [Qemu-devel] [PATCH 0/8] ] Guest memory allocation fixes & cleanup, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 1/8] exec: Fix Xen RAM allocation with unusual options, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 2/8] exec: Clean up fall back when -mem-path allocation fails, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 3/8] exec: Reduce ifdeffery around -mem-path, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 4/8] exec: Simplify the guest physical memory allocation hook, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 6/8] exec: Clean up unnecessary S390 ifdeffery,
Markus Armbruster <=
- [Qemu-devel] [PATCH 8/8] pc_sysfw: Fix ISA BIOS init for ridiculously big flash, Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 5/8] exec: Drop incorrect & dead S390 code in qemu_ram_remap(), Markus Armbruster, 2013/06/19
- [Qemu-devel] [PATCH 7/8] exec: Don't abort when we can't allocate guest memory, Markus Armbruster, 2013/06/19