qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] s390x: initialize virtio dev region


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH] s390x: initialize virtio dev region
Date: Thu, 10 Nov 2011 02:45:47 +0100

On 10.11.2011, at 02:36, Peter Maydell wrote:

> On 10 November 2011 01:19, Alexander Graf <address@hidden> wrote:
>> @@ -184,6 +186,13 @@ static void s390_init(ram_addr_t my_ram_size,
>>     memory_region_init_ram(ram, NULL, "s390.ram", my_ram_size);
>>     memory_region_add_subregion(sysmem, 0, ram);
>> 
>> +    /* clear virtio region */
>> +    virtio_region_len = my_ram_size - ram_size;
>> +    virtio_region = cpu_physical_memory_map(ram_size, &virtio_region_len, 
>> true);
>> +    memset(virtio_region, 0, virtio_region_len);
>> +    cpu_physical_memory_unmap(virtio_region, virtio_region_len, 1,
>> +                              virtio_region_len);
>> +
> 
> This looks a bit fishy -- cpu_physical_memory_map() takes a
> target_phys_addr_t but you're passing it a ram_addr_t.

Meh. Always those types ... :)

> Also isn't this second-guessing the ram_addr_t of the region allocated
> inside memory_region_init_ram() ?

Not sure I understand? On s390-virtio we have to following ram layout:

[ ----- RAM ---- | --- virtio device structs --- ]

The size of the latter is added to my_ram_size by s390_virtio_bus_init. All I'm 
trying to do is make sure that this latter part of RAM is always 0, while the 
first part can still be dynamically allocated.


Alex




reply via email to

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