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