From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:57512) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6I2C-0001CB-Fv for qemu-devel@nongnu.org; Wed, 21 Sep 2011 04:20:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6I22-0003xc-CC for qemu-devel@nongnu.org; Wed, 21 Sep 2011 04:20:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46785) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6I22-0003x4-0r for qemu-devel@nongnu.org; Wed, 21 Sep 2011 04:19:50 -0400 From: Avi Kivity Date: Wed, 21 Sep 2011 11:19:24 +0300 Message-Id: <1316593164-25199-14-git-send-email-avi@redhat.com> In-Reply-To: <1316593164-25199-1-git-send-email-avi@redhat.com> References: <1316593164-25199-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH 13/13] omap1: convert to memory API (part VI) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org Easy RAM stuff. Acked-by: Peter Maydell Signed-off-by: Avi Kivity --- hw/omap.h | 2 ++ hw/omap1.c | 17 +++++++---------- hw/soc_dma.h | 2 ++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/hw/omap.h b/hw/omap.h index de83452..0260cc0 100644 --- a/hw/omap.h +++ b/hw/omap.h @@ -841,6 +841,8 @@ struct omap_mpu_state_s { MemoryRegion pwl_iomem; MemoryRegion pwt_iomem; MemoryRegion mpui_io_iomem; + MemoryRegion imif_ram; + MemoryRegion emiff_ram; struct omap_dma_port_if_s { uint32_t (*read[3])(struct omap_mpu_state_s *s, diff --git a/hw/omap1.c b/hw/omap1.c index 4b2abb9..f747321 100644 --- a/hw/omap1.c +++ b/hw/omap1.c @@ -3793,7 +3793,6 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *system_memory, int i; struct omap_mpu_state_s *s = (struct omap_mpu_state_s *) g_malloc0(sizeof(struct omap_mpu_state_s)); - ram_addr_t imif_base, emiff_base; qemu_irq *cpu_irq; qemu_irq dma_irqs[6]; DriveInfo *dinfo; @@ -3817,12 +3816,10 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *system_memory, omap_clk_init(s); /* Memory-mapped stuff */ - cpu_register_physical_memory(OMAP_EMIFF_BASE, s->sdram_size, - (emiff_base = qemu_ram_alloc(NULL, "omap1.dram", - s->sdram_size)) | IO_MEM_RAM); - cpu_register_physical_memory(OMAP_IMIF_BASE, s->sram_size, - (imif_base = qemu_ram_alloc(NULL, "omap1.sram", - s->sram_size)) | IO_MEM_RAM); + memory_region_init_ram(&s->emiff_ram, NULL, "omap1.dram", s->sdram_size); + memory_region_add_subregion(system_memory, OMAP_EMIFF_BASE, &s->emiff_ram); + memory_region_init_ram(&s->imif_ram, NULL, "omap1.sram", s->sram_size); + memory_region_add_subregion(system_memory, OMAP_IMIF_BASE, &s->imif_ram); omap_clkm_init(system_memory, 0xfffece00, 0xe1008000, s); @@ -3848,9 +3845,9 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *system_memory, s->port[tipb_mpui].addr_valid = omap_validate_tipb_mpui_addr; /* Register SDRAM and SRAM DMA ports for fast transfers. */ - soc_dma_port_add_mem(s->dma, qemu_get_ram_ptr(emiff_base), - OMAP_EMIFF_BASE, s->sdram_size); - soc_dma_port_add_mem(s->dma, qemu_get_ram_ptr(imif_base), + soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->emiff_ram), + OMAP_EMIFF_BASE, s->sdram_size); + soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->imif_ram), OMAP_IMIF_BASE, s->sram_size); s->timer[0] = omap_mpu_timer_init(system_memory, 0xfffec500, diff --git a/hw/soc_dma.h b/hw/soc_dma.h index 026479e..904b26c 100644 --- a/hw/soc_dma.h +++ b/hw/soc_dma.h @@ -18,6 +18,8 @@ * with this program; if not, see . */ +#include "memory.h" + struct soc_dma_s; struct soc_dma_ch_s; typedef void (*soc_dma_io_t)(void *opaque, uint8_t *buf, int len); -- 1.7.6.3