Commit 8a661aea authored by Andreas Färber's avatar Andreas Färber
Browse files

Revert use of DEFINE_MACHINE() for registrations of multiple machines



The script used for converting from QEMUMachine had used one
DEFINE_MACHINE() per machine registered. In cases where multiple
machines are registered from one source file, avoid the excessive
generation of module init functions by reverting this unrolling.

Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
parent e264d29d
Loading
Loading
Loading
Loading
+24 −4
Original line number Diff line number Diff line
@@ -144,20 +144,40 @@ static void smdkc210_init(MachineState *machine)
    arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo);
}

static void exynos4_machine_nuri_machine_init(MachineClass *mc)
static void nuri_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Samsung NURI board (Exynos4210)";
    mc->init = nuri_init;
    mc->max_cpus = EXYNOS4210_NCPUS;
}

DEFINE_MACHINE("nuri", exynos4_machine_nuri_machine_init)
static const TypeInfo nuri_type = {
    .name = MACHINE_TYPE_NAME("nuri"),
    .parent = TYPE_MACHINE,
    .class_init = nuri_class_init,
};

static void exynos4_machine_smdkc210_machine_init(MachineClass *mc)
static void smdkc210_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Samsung SMDKC210 board (Exynos4210)";
    mc->init = smdkc210_init;
    mc->max_cpus = EXYNOS4210_NCPUS;
}

DEFINE_MACHINE("smdkc210", exynos4_machine_smdkc210_machine_init)
static const TypeInfo smdkc210_type = {
    .name = MACHINE_TYPE_NAME("smdkc210"),
    .parent = TYPE_MACHINE,
    .class_init = smdkc210_class_init,
};

static void exynos4_machines_init(void)
{
    type_register_static(&nuri_type);
    type_register_static(&smdkc210_type);
}

machine_init(exynos4_machines_init)
+24 −4
Original line number Diff line number Diff line
@@ -121,18 +121,38 @@ static void verdex_init(MachineState *machine)
                    qdev_get_gpio_in(cpu->gpio, 99));
}

static void connex_machine_init(MachineClass *mc)
static void connex_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Gumstix Connex (PXA255)";
    mc->init = connex_init;
}

DEFINE_MACHINE("connex", connex_machine_init)
static const TypeInfo connex_type = {
    .name = MACHINE_TYPE_NAME("connex"),
    .parent = TYPE_MACHINE,
    .class_init = connex_class_init,
};

static void verdex_machine_init(MachineClass *mc)
static void verdex_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Gumstix Verdex (PXA270)";
    mc->init = verdex_init;
}

DEFINE_MACHINE("verdex", verdex_machine_init)
static const TypeInfo verdex_type = {
    .name = MACHINE_TYPE_NAME("verdex"),
    .parent = TYPE_MACHINE,
    .class_init = verdex_class_init,
};

static void gumstix_machine_init(void)
{
    type_register_static(&connex_type);
    type_register_static(&verdex_type);
}

machine_init(gumstix_machine_init)
+24 −4
Original line number Diff line number Diff line
@@ -391,22 +391,42 @@ static void midway_init(MachineState *machine)
    calxeda_init(machine, CALXEDA_MIDWAY);
}

static void highbank_machine_init(MachineClass *mc)
static void highbank_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Calxeda Highbank (ECX-1000)";
    mc->init = highbank_init;
    mc->block_default_type = IF_SCSI;
    mc->max_cpus = 4;
}

DEFINE_MACHINE("highbank", highbank_machine_init)
static const TypeInfo highbank_type = {
    .name = MACHINE_TYPE_NAME("highbank"),
    .parent = TYPE_MACHINE,
    .class_init = highbank_class_init,
};

static void midway_machine_init(MachineClass *mc)
static void midway_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Calxeda Midway (ECX-2000)";
    mc->init = midway_init;
    mc->block_default_type = IF_SCSI;
    mc->max_cpus = 4;
}

DEFINE_MACHINE("midway", midway_machine_init)
static const TypeInfo midway_type = {
    .name = MACHINE_TYPE_NAME("midway"),
    .parent = TYPE_MACHINE,
    .class_init = midway_class_init,
};

static void calxeda_machines_init(void)
{
    type_register_static(&highbank_type);
    type_register_static(&midway_type);
}

machine_init(calxeda_machines_init)
+24 −4
Original line number Diff line number Diff line
@@ -1413,20 +1413,40 @@ static void n810_init(MachineState *machine)
    n8x0_init(machine, &n810_binfo, 810);
}

static void n800_machine_init(MachineClass *mc)
static void n800_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)";
    mc->init = n800_init;
    mc->default_boot_order = "";
}

DEFINE_MACHINE("n800", n800_machine_init)
static const TypeInfo n800_type = {
    .name = MACHINE_TYPE_NAME("n800"),
    .parent = TYPE_MACHINE,
    .class_init = n800_class_init,
};

static void n810_machine_init(MachineClass *mc)
static void n810_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)";
    mc->init = n810_init;
    mc->default_boot_order = "";
}

DEFINE_MACHINE("n810", n810_machine_init)
static const TypeInfo n810_type = {
    .name = MACHINE_TYPE_NAME("n810"),
    .parent = TYPE_MACHINE,
    .class_init = n810_class_init,
};

static void nseries_machine_init(void)
{
    type_register_static(&n800_type);
    type_register_static(&n810_type);
}

machine_init(nseries_machine_init)
+24 −4
Original line number Diff line number Diff line
@@ -217,18 +217,38 @@ static void sx1_init_v2(MachineState *machine)
    sx1_init(machine, 2);
}

static void sx1_machine_v2_machine_init(MachineClass *mc)
static void sx1_machine_v2_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Siemens SX1 (OMAP310) V2";
    mc->init = sx1_init_v2;
}

DEFINE_MACHINE("sx1", sx1_machine_v2_machine_init)
static const TypeInfo sx1_machine_v2_type = {
    .name = MACHINE_TYPE_NAME("sx1"),
    .parent = TYPE_MACHINE,
    .class_init = sx1_machine_v2_class_init,
};

static void sx1_machine_v1_machine_init(MachineClass *mc)
static void sx1_machine_v1_class_init(ObjectClass *oc, void *data)
{
    MachineClass *mc = MACHINE_CLASS(oc);

    mc->desc = "Siemens SX1 (OMAP310) V1";
    mc->init = sx1_init_v1;
}

DEFINE_MACHINE("sx1-v1", sx1_machine_v1_machine_init)
static const TypeInfo sx1_machine_v1_type = {
    .name = MACHINE_TYPE_NAME("sx1-v1"),
    .parent = TYPE_MACHINE,
    .class_init = sx1_machine_v1_class_init,
};

static void sx1_machine_init(void)
{
    type_register_static(&sx1_machine_v1_type);
    type_register_static(&sx1_machine_v2_type);
}

machine_init(sx1_machine_init)
Loading