On 11/27/13 07:46, Gerd Hoffmann wrote:
> 
>>> +    i440fx->pci_info.w32.begin = ram_size;
> 
>> But this patch also obliterates the high bound, 0xe0000000, which can
>> lead to:
>> - w32.end - w32.begin <= 512M, or
>> - a special case of the former, w32.end < w32.begin.
> 
> ram_size is not the total amount of memory, it is low memory only.

I tried to check for that when I sent the email, and I couldn't see
where this is enforced. See:

pc_init1() [hw/i386/pc_piix.c]
  i440fx_init() [hw/pci-host/piix.c]

pc_init1() receives the full RAM size in "args->ram_size". It uses this
value to compute "above_4g_mem_size" and "below_4g_mem_size", for example.

pc_init1() passes "args->ram_size" unchanged to i440fx_init(), as 7th
argument.

The 7th parameter of i440fx_init() is called "ram_size". Therefore it
will hold the whole RAM size.

Thanks
Laszlo

Reply via email to