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 unsigned long.
Signed-off-by: Mark Langsdorf <mark.langsd...@calxeda.com> --- hw/loader.c | 4 ++-- hw/loader.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/loader.c b/hw/loader.c index 415cdce..a5333d0 100644 --- a/hw/loader.c +++ b/hw/loader.c @@ -103,9 +103,9 @@ 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, unsigned long max_sz) { - int size; + unsigned long size; size = get_image_size(filename); if (size > max_sz) { diff --git a/hw/loader.h b/hw/loader.h index fbcaba9..35c1652 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, + unsigned long 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, -- 1.7.5.4