From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NFBuk-00055c-Mw for qemu-devel@nongnu.org; Mon, 30 Nov 2009 14:28:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NFBui-00053x-Hk for qemu-devel@nongnu.org; Mon, 30 Nov 2009 14:28:01 -0500 Received: from [199.232.76.173] (port=51161 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NFBui-00053a-7a for qemu-devel@nongnu.org; Mon, 30 Nov 2009 14:28:00 -0500 Received: from hall.aurel32.net ([88.191.82.174]:52866) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NFBuh-0001tY-NO for qemu-devel@nongnu.org; Mon, 30 Nov 2009 14:27:59 -0500 Date: Mon, 30 Nov 2009 19:18:43 +0100 From: Aurelien Jarno Subject: Re: [Qemu-devel] [PATCH 05/11] Allocate physical memory in low virtual address space Message-ID: <20091130181843.GA26620@volta.aurel32.net> References: <1259241800-2810-1-git-send-email-agraf@suse.de> <1259241800-2810-6-git-send-email-agraf@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1259241800-2810-6-git-send-email-agraf@suse.de> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Carsten Otte , qemu-devel@nongnu.org On Thu, Nov 26, 2009 at 02:23:14PM +0100, Alexander Graf wrote: > KVM on S390x requires the virtual address space of the guest's RAM to be > within the first 256GB. > While I have no problem with this patch, I am curious to know the reason of this. No need to change anything in the patch. > The general direction I'd like to see KVM on S390 move is that this requirement > is losened, but for now that's what we're stuck with. > > So let's just hack up qemu_ram_alloc until KVM behaves nicely :-). > > Signed-off-by: Alexander Graf > --- > exec.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/exec.c b/exec.c > index 076d26b..59150d0 100644 > --- a/exec.c > +++ b/exec.c > @@ -2411,7 +2411,13 @@ ram_addr_t qemu_ram_alloc(ram_addr_t size) > size = TARGET_PAGE_ALIGN(size); > new_block = qemu_malloc(sizeof(*new_block)); > > +#if defined(TARGET_S390) && defined(CONFIG_KVM) > + /* XXX S390 KVM requires the topmost vma of the RAM to be < 256GB */ > + new_block->host = mmap(0x1000000, size, PROT_EXEC|PROT_READ|PROT_WRITE, > + MAP_SHARED | MAP_ANONYMOUS, -1, 0); > +#else > new_block->host = qemu_vmalloc(size); > +#endif > #ifdef MADV_MERGEABLE > madvise(new_block->host, size, MADV_MERGEABLE); > #endif > -- > 1.6.0.2 > > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net