ppc: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory

Commit 0b183fc871:"memory: move mem_path handling to
memory_region_allocate_system_memory" split memory_region_init_ram and
memory_region_init_ram_from_file. Also it moved mem-path handling a step
up from memory_region_init_ram to memory_region_allocate_system_memory.

Therefore for any board that uses memory_region_init_ram directly,
-mem-path is not supported.

Fix this by replacing memory_region_init_ram with
memory_region_allocate_system_memory.

Signed-off-by: Shreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Shreyas B. Prabhu 2014-07-10 17:31:03 +05:30 committed by Alexander Graf
parent 063cac5326
commit e938ba0c35
8 changed files with 25 additions and 30 deletions

View file

@ -701,8 +701,7 @@ void ppce500_init(MachineState *machine, PPCE500Params *params)
machine->ram_size = ram_size; machine->ram_size = ram_size;
/* Register Memory */ /* Register Memory */
memory_region_init_ram(ram, NULL, "mpc8544ds.ram", ram_size); memory_region_allocate_system_memory(ram, NULL, "mpc8544ds.ram", ram_size);
vmstate_register_ram_global(ram);
memory_region_add_subregion(address_space_mem, 0, ram); memory_region_add_subregion(address_space_mem, 0, ram);
dev = qdev_create(NULL, "e500-ccsr"); dev = qdev_create(NULL, "e500-ccsr");

View file

@ -200,13 +200,12 @@ static void ppc_core99_init(MachineState *machine)
} }
/* allocate RAM */ /* allocate RAM */
memory_region_init_ram(ram, NULL, "ppc_core99.ram", ram_size); memory_region_allocate_system_memory(ram, NULL, "ppc_core99.ram", ram_size);
vmstate_register_ram_global(ram);
memory_region_add_subregion(get_system_memory(), 0, ram); memory_region_add_subregion(get_system_memory(), 0, ram);
/* allocate and load BIOS */ /* allocate and load BIOS */
memory_region_init_ram(bios, NULL, "ppc_core99.bios", BIOS_SIZE); memory_region_allocate_system_memory(bios, NULL, "ppc_core99.bios",
vmstate_register_ram_global(bios); BIOS_SIZE);
if (bios_name == NULL) if (bios_name == NULL)
bios_name = PROM_FILENAME; bios_name = PROM_FILENAME;
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);

View file

@ -130,13 +130,13 @@ static void ppc_heathrow_init(MachineState *machine)
exit(1); exit(1);
} }
memory_region_init_ram(ram, NULL, "ppc_heathrow.ram", ram_size); memory_region_allocate_system_memory(ram, NULL, "ppc_heathrow.ram",
vmstate_register_ram_global(ram); ram_size);
memory_region_add_subregion(sysmem, 0, ram); memory_region_add_subregion(sysmem, 0, ram);
/* allocate and load BIOS */ /* allocate and load BIOS */
memory_region_init_ram(bios, NULL, "ppc_heathrow.bios", BIOS_SIZE); memory_region_allocate_system_memory(bios, NULL, "ppc_heathrow.bios",
vmstate_register_ram_global(bios); BIOS_SIZE);
if (bios_name == NULL) if (bios_name == NULL)
bios_name = PROM_FILENAME; bios_name = PROM_FILENAME;
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);

View file

@ -199,8 +199,8 @@ static void ref405ep_init(MachineState *machine)
MemoryRegion *sysmem = get_system_memory(); MemoryRegion *sysmem = get_system_memory();
/* XXX: fix this */ /* XXX: fix this */
memory_region_init_ram(&ram_memories[0], NULL, "ef405ep.ram", 0x08000000); memory_region_allocate_system_memory(&ram_memories[0], NULL, "ef405ep.ram",
vmstate_register_ram_global(&ram_memories[0]); 0x08000000);
ram_bases[0] = 0; ram_bases[0] = 0;
ram_sizes[0] = 0x08000000; ram_sizes[0] = 0x08000000;
memory_region_init(&ram_memories[1], NULL, "ef405ep.ram1", 0); memory_region_init(&ram_memories[1], NULL, "ef405ep.ram1", 0);
@ -214,8 +214,7 @@ static void ref405ep_init(MachineState *machine)
33333333, &pic, kernel_filename == NULL ? 0 : 1); 33333333, &pic, kernel_filename == NULL ? 0 : 1);
/* allocate SRAM */ /* allocate SRAM */
sram_size = 512 * 1024; sram_size = 512 * 1024;
memory_region_init_ram(sram, NULL, "ef405ep.sram", sram_size); memory_region_allocate_system_memory(sram, NULL, "ef405ep.sram", sram_size);
vmstate_register_ram_global(sram);
memory_region_add_subregion(sysmem, 0xFFF00000, sram); memory_region_add_subregion(sysmem, 0xFFF00000, sram);
/* allocate and load BIOS */ /* allocate and load BIOS */
#ifdef DEBUG_BOARD_INIT #ifdef DEBUG_BOARD_INIT
@ -246,8 +245,8 @@ static void ref405ep_init(MachineState *machine)
printf("Load BIOS from file\n"); printf("Load BIOS from file\n");
#endif #endif
bios = g_new(MemoryRegion, 1); bios = g_new(MemoryRegion, 1);
memory_region_init_ram(bios, NULL, "ef405ep.bios", BIOS_SIZE); memory_region_allocate_system_memory(bios, NULL, "ef405ep.bios",
vmstate_register_ram_global(bios); BIOS_SIZE);
if (bios_name == NULL) if (bios_name == NULL)
bios_name = BIOS_FILENAME; bios_name = BIOS_FILENAME;
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
@ -518,14 +517,12 @@ static void taihu_405ep_init(MachineState *machine)
DriveInfo *dinfo; DriveInfo *dinfo;
/* RAM is soldered to the board so the size cannot be changed */ /* RAM is soldered to the board so the size cannot be changed */
memory_region_init_ram(&ram_memories[0], NULL, memory_region_allocate_system_memory(&ram_memories[0], NULL,
"taihu_405ep.ram-0", 0x04000000); "taihu_405ep.ram-0", 0x04000000);
vmstate_register_ram_global(&ram_memories[0]);
ram_bases[0] = 0; ram_bases[0] = 0;
ram_sizes[0] = 0x04000000; ram_sizes[0] = 0x04000000;
memory_region_init_ram(&ram_memories[1], NULL, memory_region_allocate_system_memory(&ram_memories[1], NULL,
"taihu_405ep.ram-1", 0x04000000); "taihu_405ep.ram-1", 0x04000000);
vmstate_register_ram_global(&ram_memories[1]);
ram_bases[1] = 0x04000000; ram_bases[1] = 0x04000000;
ram_sizes[1] = 0x04000000; ram_sizes[1] = 0x04000000;
ram_size = 0x08000000; ram_size = 0x08000000;
@ -567,8 +564,8 @@ static void taihu_405ep_init(MachineState *machine)
if (bios_name == NULL) if (bios_name == NULL)
bios_name = BIOS_FILENAME; bios_name = BIOS_FILENAME;
bios = g_new(MemoryRegion, 1); bios = g_new(MemoryRegion, 1);
memory_region_init_ram(bios, NULL, "taihu_405ep.bios", BIOS_SIZE); memory_region_allocate_system_memory(bios, NULL, "taihu_405ep.bios",
vmstate_register_ram_global(bios); BIOS_SIZE);
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
if (filename) { if (filename) {
bios_size = load_image(filename, memory_region_get_ram_ptr(bios)); bios_size = load_image(filename, memory_region_get_ram_ptr(bios));

View file

@ -23,6 +23,7 @@
*/ */
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/ppc/ppc.h" #include "hw/ppc/ppc.h"
#include "hw/boards.h"
#include "ppc405.h" #include "ppc405.h"
#include "hw/char/serial.h" #include "hw/char/serial.h"
#include "qemu/timer.h" #include "qemu/timer.h"
@ -973,8 +974,8 @@ static void ppc405_ocm_init(CPUPPCState *env)
ocm = g_malloc0(sizeof(ppc405_ocm_t)); ocm = g_malloc0(sizeof(ppc405_ocm_t));
/* XXX: Size is 4096 or 0x04000000 */ /* XXX: Size is 4096 or 0x04000000 */
memory_region_init_ram(&ocm->isarc_ram, NULL, "ppc405.ocm", 4096); memory_region_allocate_system_memory(&ocm->isarc_ram, NULL, "ppc405.ocm",
vmstate_register_ram_global(&ocm->isarc_ram); 4096);
memory_region_init_alias(&ocm->dsarc_ram, NULL, "ppc405.dsarc", &ocm->isarc_ram, memory_region_init_alias(&ocm->dsarc_ram, NULL, "ppc405.dsarc", &ocm->isarc_ram,
0, 4096); 0, 4096);
qemu_register_reset(&ocm_reset, ocm); qemu_register_reset(&ocm_reset, ocm);

View file

@ -24,6 +24,7 @@
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/ppc/ppc.h" #include "hw/ppc/ppc.h"
#include "hw/ppc/ppc4xx.h" #include "hw/ppc/ppc4xx.h"
#include "hw/boards.h"
#include "qemu/log.h" #include "qemu/log.h"
#include "exec/address-spaces.h" #include "exec/address-spaces.h"
@ -694,8 +695,8 @@ ram_addr_t ppc4xx_sdram_adjust(ram_addr_t ram_size, int nr_banks,
if (bank_size <= size_left) { if (bank_size <= size_left) {
char name[32]; char name[32];
snprintf(name, sizeof(name), "ppc4xx.sdram%d", i); snprintf(name, sizeof(name), "ppc4xx.sdram%d", i);
memory_region_init_ram(&ram_memories[i], NULL, name, bank_size); memory_region_allocate_system_memory(&ram_memories[i], NULL,
vmstate_register_ram_global(&ram_memories[i]); name, bank_size);
ram_bases[i] = base; ram_bases[i] = base;
ram_sizes[i] = bank_size; ram_sizes[i] = bank_size;
base += bank_size; base += bank_size;

View file

@ -417,8 +417,7 @@ static void ppc_prep_init(MachineState *machine)
} }
/* allocate RAM */ /* allocate RAM */
memory_region_init_ram(ram, NULL, "ppc_prep.ram", ram_size); memory_region_allocate_system_memory(ram, NULL, "ppc_prep.ram", ram_size);
vmstate_register_ram_global(ram);
memory_region_add_subregion(sysmem, 0, ram); memory_region_add_subregion(sysmem, 0, ram);
if (linux_boot) { if (linux_boot) {

View file

@ -222,8 +222,7 @@ static void virtex_init(MachineState *machine)
env = &cpu->env; env = &cpu->env;
qemu_register_reset(main_cpu_reset, cpu); qemu_register_reset(main_cpu_reset, cpu);
memory_region_init_ram(phys_ram, NULL, "ram", ram_size); memory_region_allocate_system_memory(phys_ram, NULL, "ram", ram_size);
vmstate_register_ram_global(phys_ram);
memory_region_add_subregion(address_space_mem, ram_base, phys_ram); memory_region_add_subregion(address_space_mem, ram_base, phys_ram);
dinfo = drive_get(IF_PFLASH, 0, 0); dinfo = drive_get(IF_PFLASH, 0, 0);