mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
Use load_image_targphys and avoid phys_ram_base.
Signed-off-by: Paul Brook <paul@codesourcery.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7056 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
f78630ab2f
commit
dcac9679fe
16 changed files with 113 additions and 71 deletions
10
hw/armv7m.c
10
hw/armv7m.c
|
@ -170,16 +170,17 @@ qemu_irq *armv7m_init(int flash_size, int sram_size,
|
|||
#endif
|
||||
|
||||
/* Flash programming is done via the SCU, so pretend it is ROM. */
|
||||
cpu_register_physical_memory(0, flash_size, IO_MEM_ROM);
|
||||
cpu_register_physical_memory(0, flash_size,
|
||||
qemu_ram_alloc(flash_size) | IO_MEM_ROM);
|
||||
cpu_register_physical_memory(0x20000000, sram_size,
|
||||
flash_size + IO_MEM_RAM);
|
||||
qemu_ram_alloc(sram_size) | IO_MEM_RAM);
|
||||
armv7m_bitband_init();
|
||||
|
||||
pic = armv7m_nvic_init(env);
|
||||
|
||||
image_size = load_elf(kernel_filename, 0, &entry, &lowaddr, NULL);
|
||||
if (image_size < 0) {
|
||||
image_size = load_image(kernel_filename, phys_ram_base);
|
||||
image_size = load_image_targphys(kernel_filename, 0, flash_size);
|
||||
lowaddr = 0;
|
||||
}
|
||||
if (image_size < 0) {
|
||||
|
@ -203,7 +204,8 @@ qemu_irq *armv7m_init(int flash_size, int sram_size,
|
|||
/* Hack to map an additional page of ram at the top of the address
|
||||
space. This stops qemu complaining about executing code outside RAM
|
||||
when returning from an exception. */
|
||||
cpu_register_physical_memory(0xfffff000, 0x1000, IO_MEM_RAM + ram_size);
|
||||
cpu_register_physical_memory(0xfffff000, 0x1000,
|
||||
qemu_ram_alloc(0x1000) | IO_MEM_RAM);
|
||||
|
||||
return pic;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue