machine: Eliminate QEMUMachine and qemu_register_machine()
The struct is not used anymore and can be eliminated. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
8a661aea0e
commit
3b53e45f43
@ -9,36 +9,10 @@
|
|||||||
#include "hw/qdev.h"
|
#include "hw/qdev.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
|
||||||
|
|
||||||
typedef void QEMUMachineInitFunc(MachineState *ms);
|
|
||||||
|
|
||||||
typedef void QEMUMachineResetFunc(void);
|
|
||||||
|
|
||||||
typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp);
|
|
||||||
|
|
||||||
typedef int QEMUMachineGetKvmtypeFunc(const char *arg);
|
|
||||||
|
|
||||||
struct QEMUMachine {
|
|
||||||
const char *name;
|
|
||||||
const char *desc;
|
|
||||||
QEMUMachineInitFunc *init;
|
|
||||||
QEMUMachineGetKvmtypeFunc *kvm_type;
|
|
||||||
BlockInterfaceType block_default_type;
|
|
||||||
int max_cpus;
|
|
||||||
unsigned int
|
|
||||||
no_sdcard:1,
|
|
||||||
has_dynamic_sysbus:1;
|
|
||||||
int is_default;
|
|
||||||
const char *default_machine_opts;
|
|
||||||
const char *default_boot_order;
|
|
||||||
};
|
|
||||||
|
|
||||||
void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
|
void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
|
||||||
const char *name,
|
const char *name,
|
||||||
uint64_t ram_size);
|
uint64_t ram_size);
|
||||||
|
|
||||||
int qemu_register_machine(QEMUMachine *m);
|
|
||||||
|
|
||||||
#define TYPE_MACHINE_SUFFIX "-machine"
|
#define TYPE_MACHINE_SUFFIX "-machine"
|
||||||
|
|
||||||
/* Machine class name that needs to be used for class-name-based machine
|
/* Machine class name that needs to be used for class-name-based machine
|
||||||
@ -69,7 +43,6 @@ bool machine_mem_merge(MachineState *machine);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* MachineClass:
|
* MachineClass:
|
||||||
* @qemu_machine: #QEMUMachine
|
|
||||||
* @get_hotplug_handler: this function is called during bus-less
|
* @get_hotplug_handler: this function is called during bus-less
|
||||||
* device hotplug. If defined it returns pointer to an instance
|
* device hotplug. If defined it returns pointer to an instance
|
||||||
* of HotplugHandler object, which handles hotplug operation
|
* of HotplugHandler object, which handles hotplug operation
|
||||||
|
@ -67,7 +67,6 @@ typedef struct Property Property;
|
|||||||
typedef struct QEMUBH QEMUBH;
|
typedef struct QEMUBH QEMUBH;
|
||||||
typedef struct QemuConsole QemuConsole;
|
typedef struct QemuConsole QemuConsole;
|
||||||
typedef struct QEMUFile QEMUFile;
|
typedef struct QEMUFile QEMUFile;
|
||||||
typedef struct QEMUMachine QEMUMachine;
|
|
||||||
typedef struct QEMUSGList QEMUSGList;
|
typedef struct QEMUSGList QEMUSGList;
|
||||||
typedef struct QEMUSizedBuffer QEMUSizedBuffer;
|
typedef struct QEMUSizedBuffer QEMUSizedBuffer;
|
||||||
typedef struct QEMUTimerListGroup QEMUTimerListGroup;
|
typedef struct QEMUTimerListGroup QEMUTimerListGroup;
|
||||||
|
@ -20,7 +20,7 @@ void blockdev_auto_del(BlockBackend *blk);
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
IF_DEFAULT = -1, /* for use with drive_add() only */
|
IF_DEFAULT = -1, /* for use with drive_add() only */
|
||||||
/*
|
/*
|
||||||
* IF_IDE must be zero, because we want QEMUMachine member
|
* IF_IDE must be zero, because we want MachineClass member
|
||||||
* block_default_type to default-initialize to IF_IDE
|
* block_default_type to default-initialize to IF_IDE
|
||||||
*/
|
*/
|
||||||
IF_IDE = 0,
|
IF_IDE = 0,
|
||||||
|
@ -195,7 +195,7 @@ void device_add_bootindex_property(Object *obj, int32_t *bootindex,
|
|||||||
void restore_boot_order(void *opaque);
|
void restore_boot_order(void *opaque);
|
||||||
void validate_bootdevices(const char *devices, Error **errp);
|
void validate_bootdevices(const char *devices, Error **errp);
|
||||||
|
|
||||||
/* handler to set the boot_device order for a specific type of QEMUMachine */
|
/* handler to set the boot_device order for a specific type of MachineClass */
|
||||||
typedef void QEMUBootSetHandler(void *opaque, const char *boot_order,
|
typedef void QEMUBootSetHandler(void *opaque, const char *boot_order,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque);
|
void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque);
|
||||||
|
36
vl.c
36
vl.c
@ -1429,42 +1429,6 @@ void hmp_usb_del(Monitor *mon, const QDict *qdict)
|
|||||||
|
|
||||||
MachineState *current_machine;
|
MachineState *current_machine;
|
||||||
|
|
||||||
/*
|
|
||||||
* Transitional class registration/init used for converting from
|
|
||||||
* legacy QEMUMachine to MachineClass.
|
|
||||||
*/
|
|
||||||
static void qemu_machine_class_init(ObjectClass *oc, void *data)
|
|
||||||
{
|
|
||||||
MachineClass *mc = MACHINE_CLASS(oc);
|
|
||||||
QEMUMachine *qm = data;
|
|
||||||
mc->desc = qm->desc;
|
|
||||||
mc->init = qm->init;
|
|
||||||
mc->kvm_type = qm->kvm_type;
|
|
||||||
mc->block_default_type = qm->block_default_type;
|
|
||||||
mc->max_cpus = qm->max_cpus;
|
|
||||||
mc->no_sdcard = qm->no_sdcard;
|
|
||||||
mc->has_dynamic_sysbus = qm->has_dynamic_sysbus;
|
|
||||||
mc->is_default = qm->is_default;
|
|
||||||
mc->default_machine_opts = qm->default_machine_opts;
|
|
||||||
mc->default_boot_order = qm->default_boot_order;
|
|
||||||
}
|
|
||||||
|
|
||||||
int qemu_register_machine(QEMUMachine *m)
|
|
||||||
{
|
|
||||||
char *name = g_strdup_printf(MACHINE_TYPE_NAME("%s"), m->name);
|
|
||||||
TypeInfo ti = {
|
|
||||||
.name = name,
|
|
||||||
.parent = TYPE_MACHINE,
|
|
||||||
.class_init = qemu_machine_class_init,
|
|
||||||
.class_data = (void *)m,
|
|
||||||
};
|
|
||||||
|
|
||||||
type_register(&ti);
|
|
||||||
g_free(name);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static MachineClass *find_machine(const char *name)
|
static MachineClass *find_machine(const char *name)
|
||||||
{
|
{
|
||||||
GSList *el, *machines = object_class_get_list(TYPE_MACHINE, false);
|
GSList *el, *machines = object_class_get_list(TYPE_MACHINE, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user