From patchwork Mon Mar 12 16:33:25 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mark Langsdorf X-Patchwork-Id: 146165 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 34D82B6FAA for ; Tue, 13 Mar 2012 03:33:35 +1100 (EST) Received: from localhost ([::1]:53393 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S78Bf-0007wV-HM for incoming@patchwork.ozlabs.org; Mon, 12 Mar 2012 12:33:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S78BG-0007id-7N for qemu-devel@nongnu.org; Mon, 12 Mar 2012 12:33:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S78BB-0001mG-5b for qemu-devel@nongnu.org; Mon, 12 Mar 2012 12:33:05 -0400 Received: from smtp141.dfw.emailsrvr.com ([67.192.241.141]:43917) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S78BB-0001m1-19 for qemu-devel@nongnu.org; Mon, 12 Mar 2012 12:33:01 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp14.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id 593B12989C2; Mon, 12 Mar 2012 12:32:59 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp14.relay.dfw1a.emailsrvr.com (Authenticated sender: mark.langsdorf-AT-calxeda.com) with ESMTPSA id 0DF9E298857; Mon, 12 Mar 2012 12:32:59 -0400 (EDT) From: Mark Langsdorf To: qemu-devel@nongnu.org Date: Mon, 12 Mar 2012 11:33:25 -0500 Message-Id: <1331570005-18492-1-git-send-email-mark.langsdorf@calxeda.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1331225951-31306-1-git-send-email-mark.langsdorf@calxeda.com> References: <1331225951-31306-1-git-send-email-mark.langsdorf@calxeda.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 67.192.241.141 Cc: peter.maydell@linaro.org, Mark Langsdorf , agraf@suse.de, armbru@redhat.com, eblake@redhat.com, afaerber@suse.de, david@gibson.dropbear.id.au Subject: [Qemu-devel] [PATCH v3] use an uint64_t for the max_sz parameter in load_image_targphys X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Allow load_image_targphys to load files on systems with more than 2G of emulated memory by changing the max_sz parameter from an int to an uint64_t. Signed-off-by: Mark Langsdorf Reviewed-by: Andreas Färber Acked-by: Alexander Graf Acked-by: Alexander Graf --- Changes from v2 changed max_sz from target_phys_addr_t to uint64_t Changes from v1 changed max_sz from unsigned long to target_phys_addr_t returned size to an int to match get_image_size hw/loader.c | 2 +- hw/loader.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/loader.c b/hw/loader.c index 415cdce..7d64113 100644 --- a/hw/loader.c +++ b/hw/loader.c @@ -103,7 +103,7 @@ ssize_t read_targphys(const char *name, /* return the size or -1 if error */ int load_image_targphys(const char *filename, - target_phys_addr_t addr, int max_sz) + target_phys_addr_t addr, uint64_t max_sz) { int size; diff --git a/hw/loader.h b/hw/loader.h index fbcaba9..6da291e 100644 --- a/hw/loader.h +++ b/hw/loader.h @@ -4,7 +4,8 @@ /* loader.c */ int get_image_size(const char *filename); int load_image(const char *filename, uint8_t *addr); /* deprecated */ -int load_image_targphys(const char *filename, target_phys_addr_t, int max_sz); +int load_image_targphys(const char *filename, target_phys_addr_t, + uint64_t max_sz); int load_elf(const char *filename, uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine,