* [Qemu-devel] m68k: Remove dummy machine
@ 2016-12-20 14:32 Thomas Huth
2016-12-27 11:52 ` Laurent Vivier
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Huth @ 2016-12-20 14:32 UTC (permalink / raw)
To: QEMU Developers; +Cc: QEMU Trivial, Laurent Vivier
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 <huth@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)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] m68k: Remove dummy machine
2016-12-20 14:32 [Qemu-devel] m68k: Remove dummy machine Thomas Huth
@ 2016-12-27 11:52 ` Laurent Vivier
2016-12-27 13:58 ` Thomas Huth
0 siblings, 1 reply; 5+ messages in thread
From: Laurent Vivier @ 2016-12-27 11:52 UTC (permalink / raw)
To: Thomas Huth, QEMU Developers; +Cc: QEMU Trivial
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 <huth@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.
Laurent
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] m68k: Remove dummy machine
2016-12-27 11:52 ` Laurent Vivier
@ 2016-12-27 13:58 ` Thomas Huth
2017-01-02 10:54 ` Laurent Vivier
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Huth @ 2016-12-27 13:58 UTC (permalink / raw)
To: Laurent Vivier; +Cc: QEMU Developers, QEMU Trivial
Am Tue, 27 Dec 2016 12:52:30 +0100
schrieb Laurent Vivier <laurent@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 <huth@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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] m68k: Remove dummy machine
2016-12-27 13:58 ` Thomas Huth
@ 2017-01-02 10:54 ` Laurent Vivier
2017-01-03 8:56 ` Thomas Huth
0 siblings, 1 reply; 5+ messages in thread
From: Laurent Vivier @ 2017-01-02 10:54 UTC (permalink / raw)
To: Thomas Huth; +Cc: QEMU Developers, QEMU Trivial
Le 27/12/2016 à 14:58, Thomas Huth a écrit :
> Am Tue, 27 Dec 2016 12:52:30 +0100
> schrieb Laurent Vivier <laurent@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 <huth@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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] m68k: Remove dummy machine
2017-01-02 10:54 ` Laurent Vivier
@ 2017-01-03 8:56 ` Thomas Huth
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2017-01-03 8:56 UTC (permalink / raw)
To: Laurent Vivier; +Cc: QEMU Developers
On 02.01.2017 11:54, Laurent Vivier wrote:
> Le 27/12/2016 à 14:58, Thomas Huth a écrit :
>> Am Tue, 27 Dec 2016 12:52:30 +0100
>> schrieb Laurent Vivier <laurent@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 <huth@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?
As far as I can see, there is even more to be done here: The "none"
machine apparently does not instantiate any CPUs yet, so we would need
to add the possibility to add a CPU to the empty here, too...
Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-03 8:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-20 14:32 [Qemu-devel] m68k: Remove dummy machine Thomas Huth
2016-12-27 11:52 ` Laurent Vivier
2016-12-27 13:58 ` Thomas Huth
2017-01-02 10:54 ` Laurent Vivier
2017-01-03 8:56 ` Thomas Huth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.