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?) Thomas