[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/7] integratorcp: convert control to memory API
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 3/7] integratorcp: convert control to memory API |
Date: |
Tue, 18 Oct 2011 12:44:32 +0100 |
2011/10/17 Benoît Canet <address@hidden>:
> -static void icp_control_init(uint32_t base)
> +static void icp_control_init(target_phys_addr_t base)
> {
> - int iomemtype;
> + MemoryRegion *io;
>
> - iomemtype = cpu_register_io_memory(icp_control_readfn,
> - icp_control_writefn, NULL,
> - DEVICE_NATIVE_ENDIAN);
> - cpu_register_physical_memory(base, 0x00800000, iomemtype);
> + io = (MemoryRegion *)g_malloc0(sizeof(MemoryRegion));
> + memory_region_init_io(io, &icp_control_ops, NULL,
> + "control", 0x00800000);
> + memory_region_add_subregion(get_system_memory(), base, io);
> /* ??? Save/restore. */
> }
I didn't spot this the first time round, but this is wrong.
We shouldn't be g_malloc0()ing the MemoryRegion -- it should
be an element in some suitable device struct.
I think the right thing to do here is probably first to do the
(fairly trivial) conversion of the icp_control code to be a
sysbus device, then do the memory region conversion on top of that.
-- PMM
[Qemu-devel] [PATCH 5/7] stellaris: convert i2c to memory API, Benoît Canet, 2011/10/17
[Qemu-devel] [PATCH 6/7] stellaris: convert adc to memory API, Benoît Canet, 2011/10/17
[Qemu-devel] [PATCH 7/7] stellaris: convert gptm to memory API, Benoît Canet, 2011/10/17
Re: [Qemu-devel] [PATCH 0/7] V2. Finish to convert integratorcp and stellaris to memory API, Avi Kivity, 2011/10/19