@@ -101,8 +101,12 @@ static void digic_load_rom(DigicState *s, hwaddr addr,
char *fn = qemu_find_file(QEMU_FILE_TYPE_BIOS, filename);
if (!fn) {
- error_report("Couldn't find rom image '%s'.", filename);
- exit(1);
+ if (bios_name) {
+ error_report("Couldn't find rom image '%s'.", filename);
+ exit(1);
+ } else {
+ return;
+ }
}
rom_size = load_image_targphys(fn, addr, max_size);
@@ -59,12 +59,6 @@ static void connex_init(MachineState *machine)
cpu = pxa255_init(address_space_mem, connex_ram);
dinfo = drive_get(IF_PFLASH, 0, 0);
- if (!dinfo && !qtest_enabled()) {
- error_report("A flash image must be given with the "
- "'pflash' parameter");
- exit(1);
- }
-
if (!pflash_cfi01_register(0x00000000, "connext.rom", connex_rom,
dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
sector_len, 2, 0, 0, 0, 0, 0)) {
@@ -89,12 +83,6 @@ static void verdex_init(MachineState *machine)
cpu = pxa270_init(address_space_mem, verdex_ram, machine->cpu_type);
dinfo = drive_get(IF_PFLASH, 0, 0);
- if (!dinfo && !qtest_enabled()) {
- error_report("A flash image must be given with the "
- "'pflash' parameter");
- exit(1);
- }
-
if (!pflash_cfi01_register(0x00000000, "verdex.rom", verdex_rom,
dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
sector_len, 2, 0, 0, 0, 0, 0)) {
@@ -190,11 +190,6 @@ static void sx1_init(MachineState *machine, const int version)
OMAP_CS1_BASE, &cs[1]);
}
- if (!machine->kernel_filename && !fl_idx && !qtest_enabled()) {
- error_report("Kernel or Flash image must be specified");
- exit(1);
- }
-
/* Load the kernel. */
arm_load_kernel(mpu->cpu, machine, &sx1_binfo);
@@ -231,7 +231,7 @@ static void palmte_init(MachineState *machine)
static uint32_t cs1val = 0x0000e1a0;
static uint32_t cs2val = 0x0000e1a0;
static uint32_t cs3val = 0xe1a0e1a0;
- int rom_size, rom_loaded = 0;
+ int rom_size;
MachineClass *mc = MACHINE_GET_CLASS(machine);
MemoryRegion *flash = g_new(MemoryRegion, 1);
MemoryRegion *cs = g_new(MemoryRegion, 4);
@@ -284,7 +284,6 @@ static void palmte_init(MachineState *machine)
if (rom_size > 0) {
rom_size = load_image_targphys(option_rom[0].name, OMAP_CS0_BASE,
flash_size);
- rom_loaded = 1;
}
if (rom_size < 0) {
fprintf(stderr, "%s: error loading '%s'\n",
@@ -292,11 +291,6 @@ static void palmte_init(MachineState *machine)
}
}
- if (!rom_loaded && !machine->kernel_filename && !qtest_enabled()) {
- fprintf(stderr, "Kernel or ROM image must be specified\n");
- exit(1);
- }
-
/* Load the kernel. */
arm_load_kernel(mpu->cpu, machine, &palmte_binfo);
}
This patch updates ARM-based machines to allow starting them without ROM. In this case CPU starts to execute instructions from the empty memory, but QEMU allows introspecting the machine configuration. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru> -- v2: - useless error reports were dropped (suggested by Peter Maydell) --- hw/arm/digic_boards.c | 8 ++++++-- hw/arm/gumstix.c | 12 ------------ hw/arm/omap_sx1.c | 5 ----- hw/arm/palm.c | 8 +------- 4 files changed, 7 insertions(+), 26 deletions(-)