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 "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,
|
||||
const char *name,
|
||||
uint64_t ram_size);
|
||||
|
||||
int qemu_register_machine(QEMUMachine *m);
|
||||
|
||||
#define TYPE_MACHINE_SUFFIX "-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:
|
||||
* @qemu_machine: #QEMUMachine
|
||||
* @get_hotplug_handler: this function is called during bus-less
|
||||
* device hotplug. If defined it returns pointer to an instance
|
||||
* of HotplugHandler object, which handles hotplug operation
|
||||
|
@ -67,7 +67,6 @@ typedef struct Property Property;
|
||||
typedef struct QEMUBH QEMUBH;
|
||||
typedef struct QemuConsole QemuConsole;
|
||||
typedef struct QEMUFile QEMUFile;
|
||||
typedef struct QEMUMachine QEMUMachine;
|
||||
typedef struct QEMUSGList QEMUSGList;
|
||||
typedef struct QEMUSizedBuffer QEMUSizedBuffer;
|
||||
typedef struct QEMUTimerListGroup QEMUTimerListGroup;
|
||||
|
@ -20,7 +20,7 @@ void blockdev_auto_del(BlockBackend *blk);
|
||||
typedef enum {
|
||||
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
|
||||
*/
|
||||
IF_IDE = 0,
|
||||
|
@ -195,7 +195,7 @@ void device_add_bootindex_property(Object *obj, int32_t *bootindex,
|
||||
void restore_boot_order(void *opaque);
|
||||
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,
|
||||
Error **errp);
|
||||
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;
|
||||
|
||||
/*
|
||||
* 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)
|
||||
{
|
||||
GSList *el, *machines = object_class_get_list(TYPE_MACHINE, false);
|
||||
|
Loading…
Reference in New Issue
Block a user