From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MRlys-0000Mr-Dr for qemu-devel@nongnu.org; Fri, 17 Jul 2009 07:52:02 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MRlym-0000HN-EY for qemu-devel@nongnu.org; Fri, 17 Jul 2009 07:52:00 -0400 Received: from [199.232.76.173] (port=36971 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MRlym-0000H1-0H for qemu-devel@nongnu.org; Fri, 17 Jul 2009 07:51:56 -0400 Received: from cantor.suse.de ([195.135.220.2]:43128 helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MRlyl-0001bS-84 for qemu-devel@nongnu.org; Fri, 17 Jul 2009 07:51:55 -0400 From: Alexander Graf Date: Fri, 17 Jul 2009 13:51:47 +0200 Message-Id: <1247831508-19023-7-git-send-email-agraf@suse.de> In-Reply-To: <1247831508-19023-6-git-send-email-agraf@suse.de> References: <1247831508-19023-1-git-send-email-agraf@suse.de> <1247831508-19023-2-git-send-email-agraf@suse.de> <1247831508-19023-3-git-send-email-agraf@suse.de> <1247831508-19023-4-git-send-email-agraf@suse.de> <1247831508-19023-5-git-send-email-agraf@suse.de> <1247831508-19023-6-git-send-email-agraf@suse.de> Subject: [Qemu-devel] [PATCH 6/7] Set slots more carefully List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: hollisb@us.ibm.com KVM only supports slot sizes of PAGE_SIZE granilarity. On PPC the OS sets the framebuffer to some odd size though, causing the current code to simply abort(). So let's bet graceful here. We can just allocate memory sizes that are of PAGE_SIZE granularity and everything that exceeds that comes in as MMIO and gets handled too - just slower. Signed-off-by: Alexander Graf --- kvm-all.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kvm-all.c b/kvm-all.c index 961fa32..60b76cf 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -134,7 +134,7 @@ static int kvm_set_user_memory_region(KVMState *s, KVMSlot *slot) mem.slot = slot->slot; mem.guest_phys_addr = slot->start_addr; - mem.memory_size = slot->memory_size; + mem.memory_size = slot->memory_size & ~(TARGET_PAGE_SIZE - 1); mem.userspace_addr = (unsigned long)qemu_get_ram_ptr(slot->phys_offset); mem.flags = slot->flags; if (s->migration_log) { -- 1.6.0.2