qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] use an unsigned long for the max_sz parameter i


From: Mark Langsdorf
Subject: Re: [Qemu-devel] [PATCH] use an unsigned long for the max_sz parameter in load_image_targphys
Date: Fri, 09 Mar 2012 07:15:52 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

On 03/09/2012 03:25 AM, Markus Armbruster wrote:
> Mark Langsdorf <address@hidden> 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 <address@hidden>
>> ---
>>  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?

If max_sz is greater than 2GB, then:
  int max_sz = 0xc0000000;
  int size =   0x300;
  if (size > max_sz)
      return -1;

returns -1, even though size is much less than max_sz.

doing it my way:
  unsigned long max_sz = 0xc0000000;
  unsigned long size =   0x300;
  if (size > max_sz)
      return -1;

does not return -1.

--Mark Langsdorf
Calxeda, Inc.



reply via email to

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