From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, stefano.stabellini@eu.citrix.com,
mtosatti@redhat.com, agraf@suse.de, borntraeger@de.ibm.com,
pbonzini@redhat.com, afaerber@suse.de, rth@twiddle.net
Subject: [Qemu-devel] [PATCH v2 6/8] exec: Clean up unnecessary S390 ifdeffery
Date: Thu, 20 Jun 2013 09:54:34 +0200 [thread overview]
Message-ID: <1371714876-2317-7-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1371714876-2317-1-git-send-email-armbru@redhat.com>
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 <armbru@redhat.com>
---
exec.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/exec.c b/exec.c
index 366ac6a..bf2a7d6 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
next prev parent reply other threads:[~2013-06-20 7:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-20 7:54 [Qemu-devel] [PATCH v2 0/8] Guest memory allocation fixes & cleanup Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 1/8] exec: Fix Xen RAM allocation with unusual options Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 2/8] exec: Clean up fall back when -mem-path allocation fails Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 3/8] exec: Reduce ifdeffery around -mem-path Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 4/8] exec: Simplify the guest physical memory allocation hook Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 5/8] exec: Drop incorrect & dead S390 code in qemu_ram_remap() Markus Armbruster
2013-06-20 7:54 ` Markus Armbruster [this message]
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 7/8] exec: Don't abort when we can't allocate guest memory Markus Armbruster
2013-06-20 7:54 ` [Qemu-devel] [PATCH v2 8/8] pc_sysfw: Fix ISA BIOS init for ridiculously big flash Markus Armbruster
2013-06-24 14:22 ` [Qemu-devel] [PATCH v2 0/8] Guest memory allocation fixes & cleanup Martin Kletzander
2013-07-18 16:31 ` Markus Armbruster
2013-07-31 8:50 ` Markus Armbruster
2013-07-31 12:33 ` Laszlo Ersek
2013-07-31 14:00 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1371714876-2317-7-git-send-email-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=stefano.stabellini@eu.citrix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).