Mark Langsdorf <mark.langsd...@calxeda.com> writes: > 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) {
get_image_size() returns int. How does widening size and max_sz here improve things? > 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,