On 10 November 2011 01:19, Alexander Graf <ag...@suse.de> 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. Also isn't this second-guessing the ram_addr_t of the region allocated inside memory_region_init_ram() ? -- PMM