qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] use an uint64_t for the max_sz parameter in


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v3] use an uint64_t for the max_sz parameter in load_image_targphys
Date: Mon, 12 Mar 2012 17:47:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2

Am 12.03.2012 17:33, schrieb Mark Langsdorf:
> 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 <address@hidden>

A very non-intrusive solution for allowing large theoretical limits.
I've skimmed through the callers and it looks fine.

Reviewed-by: Andreas Färber <address@hidden>

Independently David's off_t patch or a variation thereof would still be
needed to make use of the enlarged limit, wouldn't it? Image sizes
remain int here.

Andreas

> ---
> 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,

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]