At 02/15/2012 05:12 PM, Peter Maydell Wrote:
> On 9 February 2012 03:26, Wen Congyang <we...@cn.fujitsu.com> wrote:
>> +int cpu_get_dump_info(ArchDumpInfo *info)
>> +{
>> +    bool lma = false;
>> +    RAMBlock *block;
>> +
>> +#ifdef TARGET_X86_64
>> +    lma = !!(first_cpu->hflags & HF_LMA_MASK);
>> +#endif
>> +
>> +    if (lma) {
>> +        info->d_machine = EM_X86_64;
>> +    } else {
>> +        info->d_machine = EM_386;
>> +    }
>> +    info->d_endian = ELFDATA2LSB;
>> +
>> +    if (lma) {
>> +        info->d_class = ELFCLASS64;
>> +    } else {
>> +        info->d_class = ELFCLASS32;
>> +    }
>> +
>> +    QLIST_FOREACH(block, &ram_list.blocks, next) {
>> +        if (!lma && (block->offset + block->length > UINT_MAX)) {
>> +            /* The memory size is greater than 4G */
>> +            info->d_class = ELFCLASS32;
>> +            break;
>> +        }
>> +    }
> 
> I think it would be cleaner to have a single
>   if (lma) {
>      stuff;
>   } else {
>      stuff;
>   }
> 
> rather than checking it three times, especially for
> the loop, where if lma is true we'll walk the ram_list
> without ever doing anything.

Nice. I will change it.

Thanks
Wen Congyang

> 
> -- PMM
> 


Reply via email to