Le 27/12/2016 à 14:58, Thomas Huth a écrit : > Am Tue, 27 Dec 2016 12:52:30 +0100 > schrieb Laurent Vivier <laur...@vivier.eu>: > >> Le 20/12/2016 à 15:32, Thomas Huth a écrit : >>> You can get an empty machine with "-M none" nowadays, so the >>> m68k dummy board (introduced in 2007) seems to be pretty >>> redundant since the "none" machine has been added in 2012. >>> >>> Signed-off-by: Thomas Huth <h...@tuxfamily.org> >>> --- >>> MAINTAINERS | 4 --- >>> hw/m68k/Makefile.objs | 2 -- >>> hw/m68k/dummy_m68k.c | 84 >>> --------------------------------------------------- 3 files >>> changed, 90 deletions(-) delete mode 100644 hw/m68k/dummy_m68k.c >>> >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index 4a60579..88ee8cd 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -552,10 +552,6 @@ S: Orphan >>> F: hw/m68k/an5206.c >>> F: hw/m68k/mcf5206.c >>> >>> -dummy_m68k >>> -S: Orphan >>> -F: hw/m68k/dummy_m68k.c >>> - >>> mcf5208 >>> S: Orphan >>> F: hw/m68k/mcf5208.c >>> diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs >>> index c4352e7..d1f089c 100644 >>> --- a/hw/m68k/Makefile.objs >>> +++ b/hw/m68k/Makefile.objs >>> @@ -1,4 +1,2 @@ >>> obj-y += an5206.o mcf5208.o >>> -obj-y += dummy_m68k.o >>> - >>> obj-y += mcf5206.o mcf_intc.o >>> diff --git a/hw/m68k/dummy_m68k.c b/hw/m68k/dummy_m68k.c >>> deleted file mode 100644 >>> index 0b11d20..0000000 >>> --- a/hw/m68k/dummy_m68k.c >>> +++ /dev/null >>> @@ -1,84 +0,0 @@ >>> -/* >>> - * Dummy board with just RAM and CPU for use as an ISS. >>> - * >>> - * Copyright (c) 2007 CodeSourcery. >>> - * >>> - * This code is licensed under the GPL >>> - */ >>> - >>> -#include "qemu/osdep.h" >>> -#include "qemu-common.h" >>> -#include "cpu.h" >>> -#include "hw/hw.h" >>> -#include "hw/boards.h" >>> -#include "hw/loader.h" >>> -#include "elf.h" >>> -#include "exec/address-spaces.h" >>> - >>> -#define KERNEL_LOAD_ADDR 0x10000 >>> - >>> -/* Board init. */ >>> - >>> -static void dummy_m68k_init(MachineState *machine) >>> -{ >>> - ram_addr_t ram_size = machine->ram_size; >>> - const char *cpu_model = machine->cpu_model; >>> - const char *kernel_filename = machine->kernel_filename; >>> - M68kCPU *cpu; >>> - CPUM68KState *env; >>> - MemoryRegion *address_space_mem = get_system_memory(); >>> - MemoryRegion *ram = g_new(MemoryRegion, 1); >>> - int kernel_size; >>> - uint64_t elf_entry; >>> - hwaddr entry; >>> - >>> - if (!cpu_model) >>> - cpu_model = "cfv4e"; >>> - cpu = cpu_m68k_init(cpu_model); >>> - if (!cpu) { >>> - fprintf(stderr, "Unable to find m68k CPU definition\n"); >>> - exit(1); >>> - } >>> - env = &cpu->env; >>> - >>> - /* Initialize CPU registers. */ >>> - env->vbr = 0; >>> - >>> - /* RAM at address zero */ >>> - memory_region_allocate_system_memory(ram, NULL, >>> "dummy_m68k.ram", >>> - ram_size); >>> - memory_region_add_subregion(address_space_mem, 0, ram); >>> - >>> - /* Load kernel. */ >>> - if (kernel_filename) { >>> - kernel_size = load_elf(kernel_filename, NULL, NULL, >>> &elf_entry, >>> - NULL, NULL, 1, EM_68K, 0, 0); >>> - entry = elf_entry; >>> - if (kernel_size < 0) { >>> - kernel_size = load_uimage(kernel_filename, &entry, >>> NULL, NULL, >>> - NULL, NULL); >>> - } >>> - if (kernel_size < 0) { >>> - kernel_size = load_image_targphys(kernel_filename, >>> - KERNEL_LOAD_ADDR, >>> - ram_size - >>> KERNEL_LOAD_ADDR); >>> - entry = KERNEL_LOAD_ADDR; >>> - } >>> - if (kernel_size < 0) { >>> - fprintf(stderr, "qemu: could not load kernel '%s'\n", >>> - kernel_filename); >>> - exit(1); >>> - } >>> - } else { >>> - entry = 0; >>> - } >>> - env->pc = entry; >>> -} >>> - >>> -static void dummy_m68k_machine_init(MachineClass *mc) >>> -{ >>> - mc->desc = "Dummy board"; >>> - mc->init = dummy_m68k_init; >>> -} >>> - >>> -DEFINE_MACHINE("dummy", dummy_m68k_machine_init) >>> >> >> I'm not sure the "none" machine can replace the "dummy" machine as the >> "dummy" machine can load a kernel whereas it seems the "none" one >> can't. > > Oh, that's true ... I did not notice it 'cause there was no error > message when I tried to start the "none" machine with "-kernel". But > looking at the code in hw/core/null-machine.c, it really seems that > there is nothing in here :-( So never mind, please forget about this > patch. (but now I wonder whether the "none" machine could be improved to > provide the features of the "dummy" machine, too?)
The "none" machine is defined to be be filled with QMP commands, perhaps the generic-loader object can replace the "-kernel" parameters? Laurent