Commit 3b53e45f authored by Eduardo Habkost's avatar Eduardo Habkost Committed by Andreas Färber
Browse files

machine: Eliminate QEMUMachine and qemu_register_machine()



The struct is not used anymore and can be eliminated.

Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
parent 8a661aea
Loading
Loading
Loading
Loading
+0 −27
Original line number Diff line number Diff line
@@ -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
+0 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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);
+0 −36
Original line number Diff line number Diff line
@@ -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);