|
@@ -22,6 +22,7 @@
|
|
|
#include "qemu/error-report.h"
|
|
|
#include "qapi/error.h"
|
|
|
#include "cpu.h"
|
|
|
+#include "exec/address-spaces.h"
|
|
|
#include "sysemu/blockdev.h"
|
|
|
#include "sysemu/qtest.h"
|
|
|
#include "sysemu/reset.h"
|
|
@@ -2276,8 +2277,7 @@ static const struct dma_irq_map omap2_dma_irq_map[] = {
|
|
|
{ 0, OMAP_INT_24XX_SDMA_IRQ3 },
|
|
|
};
|
|
|
|
|
|
-struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem,
|
|
|
- unsigned long sdram_size,
|
|
|
+struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sdram,
|
|
|
const char *cpu_type)
|
|
|
{
|
|
|
struct omap_mpu_state_s *s = g_new0(struct omap_mpu_state_s, 1);
|
|
@@ -2286,11 +2286,11 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem,
|
|
|
int i;
|
|
|
SysBusDevice *busdev;
|
|
|
struct omap_target_agent_s *ta;
|
|
|
+ MemoryRegion *sysmem = get_system_memory();
|
|
|
|
|
|
/* Core */
|
|
|
s->mpu_model = omap2420;
|
|
|
s->cpu = ARM_CPU(cpu_create(cpu_type));
|
|
|
- s->sdram_size = sdram_size;
|
|
|
s->sram_size = OMAP242X_SRAM_SIZE;
|
|
|
|
|
|
s->wakeup = qemu_allocate_irq(omap_mpu_wakeup, s, 0);
|
|
@@ -2299,9 +2299,6 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem,
|
|
|
omap_clk_init(s);
|
|
|
|
|
|
/* Memory-mapped stuff */
|
|
|
- memory_region_allocate_system_memory(&s->sdram, NULL, "omap2.dram",
|
|
|
- s->sdram_size);
|
|
|
- memory_region_add_subregion(sysmem, OMAP2_Q2_BASE, &s->sdram);
|
|
|
memory_region_init_ram(&s->sram, NULL, "omap2.sram", s->sram_size,
|
|
|
&error_fatal);
|
|
|
memory_region_add_subregion(sysmem, OMAP2_SRAM_BASE, &s->sram);
|
|
@@ -2338,8 +2335,8 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem,
|
|
|
s->port->addr_valid = omap2_validate_addr;
|
|
|
|
|
|
/* Register SDRAM and SRAM ports for fast DMA transfers. */
|
|
|
- soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->sdram),
|
|
|
- OMAP2_Q2_BASE, s->sdram_size);
|
|
|
+ soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(sdram),
|
|
|
+ OMAP2_Q2_BASE, memory_region_size(sdram));
|
|
|
soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->sram),
|
|
|
OMAP2_SRAM_BASE, s->sram_size);
|
|
|
|