Revision a4911d64

b/hw/leon3.c
29 29
#include "loader.h"
30 30
#include "elf.h"
31 31
#include "trace.h"
32
#include "exec-memory.h"
32 33

  
33 34
#include "grlib.h"
34 35

  
......
100 101
                                  const char *cpu_model)
101 102
{
102 103
    CPUState   *env;
103
    ram_addr_t  ram_offset, prom_offset;
104
    MemoryRegion *address_space_mem = get_system_memory();
105
    MemoryRegion *ram = g_new(MemoryRegion, 1);
106
    MemoryRegion *prom = g_new(MemoryRegion, 1);
104 107
    int         ret;
105 108
    char       *filename;
106 109
    qemu_irq   *cpu_irqs = NULL;
......
139 142
        exit(1);
140 143
    }
141 144

  
142
    ram_offset = qemu_ram_alloc(NULL, "leon3.ram", ram_size);
143
    cpu_register_physical_memory(0x40000000, ram_size, ram_offset | IO_MEM_RAM);
145
    memory_region_init_ram(ram, NULL, "leon3.ram", ram_size);
146
    memory_region_add_subregion(address_space_mem, 0x40000000, ram);
144 147

  
145 148
    /* Allocate BIOS */
146 149
    prom_size = 8 * 1024 * 1024; /* 8Mb */
147
    prom_offset = qemu_ram_alloc(NULL, "Leon3.bios", prom_size);
148
    cpu_register_physical_memory(0x00000000, prom_size,
149
                                 prom_offset | IO_MEM_ROM);
150
    memory_region_init_ram(prom, NULL, "Leon3.bios", prom_size);
151
    memory_region_set_readonly(prom, true);
152
    memory_region_add_subregion(address_space_mem, 0x00000000, prom);
150 153

  
151 154
    /* Load boot prom */
152 155
    if (bios_name == NULL) {

Also available in: Unified diff