From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLsGr-0005Jb-5m for qemu-devel@nongnu.org; Tue, 27 Dec 2016 08:58:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLsGn-0002QY-6B for qemu-devel@nongnu.org; Tue, 27 Dec 2016 08:58:29 -0500 Date: Tue, 27 Dec 2016 14:58:05 +0100 From: Thomas Huth Message-ID: <20161227145805.5a19af6b@thl530> In-Reply-To: <80f9cbae-8548-4d5e-2543-1d95020eddb1@vivier.eu> References: <80f9cbae-8548-4d5e-2543-1d95020eddb1@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] m68k: Remove dummy machine List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: QEMU Developers , QEMU Trivial Am Tue, 27 Dec 2016 12:52:30 +0100 schrieb Laurent Vivier : > Le 20/12/2016 =C3=A0 15:32, Thomas Huth a =C3=A9crit : > > 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. > >=20 > > Signed-off-by: Thomas Huth > > --- > > 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 > >=20 > > 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 > > =20 > > -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 +=3D an5206.o mcf5208.o > > -obj-y +=3D dummy_m68k.o > > - > > obj-y +=3D 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 =3D machine->ram_size; > > - const char *cpu_model =3D machine->cpu_model; > > - const char *kernel_filename =3D machine->kernel_filename; > > - M68kCPU *cpu; > > - CPUM68KState *env; > > - MemoryRegion *address_space_mem =3D get_system_memory(); > > - MemoryRegion *ram =3D g_new(MemoryRegion, 1); > > - int kernel_size; > > - uint64_t elf_entry; > > - hwaddr entry; > > - > > - if (!cpu_model) > > - cpu_model =3D "cfv4e"; > > - cpu =3D cpu_m68k_init(cpu_model); > > - if (!cpu) { > > - fprintf(stderr, "Unable to find m68k CPU definition\n"); > > - exit(1); > > - } > > - env =3D &cpu->env; > > - > > - /* Initialize CPU registers. */ > > - env->vbr =3D 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 =3D load_elf(kernel_filename, NULL, NULL, > > &elf_entry, > > - NULL, NULL, 1, EM_68K, 0, 0); > > - entry =3D elf_entry; > > - if (kernel_size < 0) { > > - kernel_size =3D load_uimage(kernel_filename, &entry, > > NULL, NULL, > > - NULL, NULL); > > - } > > - if (kernel_size < 0) { > > - kernel_size =3D load_image_targphys(kernel_filename, > > - KERNEL_LOAD_ADDR, > > - ram_size - > > KERNEL_LOAD_ADDR); > > - entry =3D KERNEL_LOAD_ADDR; > > - } > > - if (kernel_size < 0) { > > - fprintf(stderr, "qemu: could not load kernel '%s'\n", > > - kernel_filename); > > - exit(1); > > - } > > - } else { > > - entry =3D 0; > > - } > > - env->pc =3D entry; > > -} > > - > > -static void dummy_m68k_machine_init(MachineClass *mc) > > -{ > > - mc->desc =3D "Dummy board"; > > - mc->init =3D dummy_m68k_init; > > -} > > - > > -DEFINE_MACHINE("dummy", dummy_m68k_machine_init) > >=20 >=20 > 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