boards: add a 'none' machine type to all platforms

This allows any QEMU binary to be executed with:

  $QEMU_BINARY -M none -qmp stdio

Without errors from missing options that are required by various boards.  This
also provides a mode that we can use in the future to construct machines
entirely through QMP commands.

Cc: Daniel Berrange <berrange@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Anthony Liguori 2012-08-22 15:22:05 -05:00
parent af506c7036
commit b4a738bf93
2 changed files with 42 additions and 0 deletions

View File

@ -134,6 +134,8 @@ hw-obj-$(CONFIG_DP8393X) += dp8393x.o
hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
hw-obj-y += null-machine.o
# Sound
sound-obj-y =
sound-obj-$(CONFIG_SB16) += sb16.o

40
hw/null-machine.c Normal file
View File

@ -0,0 +1,40 @@
/*
* Empty machine
*
* Copyright IBM, Corp. 2012
*
* Authors:
* Anthony Liguori <aliguori@us.ibm.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*
*/
#include "qemu-common.h"
#include "hw/hw.h"
#include "hw/boards.h"
static void machine_none_init(ram_addr_t ram_size,
const char *boot_device,
const char *kernel_filename,
const char *kernel_cmdline,
const char *initrd_filename,
const char *cpu_model)
{
}
static QEMUMachine machine_none = {
.name = "none",
.desc = "empty machine",
.init = machine_none_init,
.max_cpus = 0,
};
static void register_machines(void)
{
qemu_register_machine(&machine_none);
}
machine_init(register_machines);