Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-peter' into staging

QOM infrastructure fixes and device conversions

* QOM API error handling fixes
* Performance improvements for device GPIO property creation
* Remaining conversion of QEMUMachine to QOM

# gpg: Signature made Sat 19 Sep 2015 15:40:44 BST using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@suse.de>"
# gpg:                 aka "Andreas Färber <afaerber@suse.com>"

* remotes/afaerber/tags/qom-devices-for-peter: (21 commits)
  machine: Eliminate QEMUMachine and qemu_register_machine()
  Revert use of DEFINE_MACHINE() for registrations of multiple machines
  Use DEFINE_MACHINE() to register all machines
  mac_world: Break long line
  machine: DEFINE_MACHINE() macro
  exynos4: Declare each QEMUMachine as a separate variable
  exynos4: Use MachineClass instead of exynos4_machines array
  exynos4: Use EXYNOS4210_NCPUS instead of max_cpus on error message
  machine: Set MachineClass::name automatically
  machine: Ensure all TYPE_MACHINE subclasses have the right suffix
  mac99: Use MACHINE_TYPE_NAME to encode class name
  s390: Rename s390-ccw-virtio-2.4 class name to use MACHINE_TYPE_NAME
  s390-virtio: Rename machine class name to use MACHINE_TYPE_NAME
  pseries: Rename machine class names to use MACHINE_TYPE_NAME
  arm: Rename virt machine class to use MACHINE_TYPE_NAME
  vexpress: Rename machine classes to use MACHINE_TYPE_NAME
  vexpress: Don't set name on abstract class
  machine: MACHINE_TYPE_NAME macro
  qdev: Do not use slow [*] expansion for GPIO creation
  qom: Fix invalid error check in property_get_str()
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell
2015-09-19 15:59:52 +01:00
71 changed files with 960 additions and 819 deletions
+6 -11
View File
@@ -168,17 +168,12 @@ static void clipper_init(MachineState *machine)
}
}
static QEMUMachine clipper_machine = {
.name = "clipper",
.desc = "Alpha DP264/CLIPPER",
.init = clipper_init,
.max_cpus = 4,
.is_default = 1,
};
static void clipper_machine_init(void)
static void clipper_machine_init(MachineClass *mc)
{
qemu_register_machine(&clipper_machine);
mc->desc = "Alpha DP264/CLIPPER";
mc->init = clipper_init;
mc->max_cpus = 4;
mc->is_default = 1;
}
machine_init(clipper_machine_init);
DEFINE_MACHINE("clipper", clipper_machine_init)
+4 -9
View File
@@ -58,15 +58,10 @@ static void collie_init(MachineState *machine)
arm_load_kernel(s->cpu, &collie_binfo);
}
static QEMUMachine collie_machine = {
.name = "collie",
.desc = "Collie PDA (SA-1110)",
.init = collie_init,
};
static void collie_machine_init(void)
static void collie_machine_init(MachineClass *mc)
{
qemu_register_machine(&collie_machine);
mc->desc = "Collie PDA (SA-1110)";
mc->init = collie_init;
}
machine_init(collie_machine_init)
DEFINE_MACHINE("collie", collie_machine_init)
+4 -10
View File
@@ -74,16 +74,10 @@ static void cubieboard_init(MachineState *machine)
arm_load_kernel(&s->a10->cpu, &cubieboard_binfo);
}
static QEMUMachine cubieboard_machine = {
.name = "cubieboard",
.desc = "cubietech cubieboard",
.init = cubieboard_init,
};
static void cubieboard_machine_init(void)
static void cubieboard_machine_init(MachineClass *mc)
{
qemu_register_machine(&cubieboard_machine);
mc->desc = "cubietech cubieboard";
mc->init = cubieboard_init;
}
machine_init(cubieboard_machine_init)
DEFINE_MACHINE("cubieboard", cubieboard_machine_init)
+4 -9
View File
@@ -148,15 +148,10 @@ static void canon_a1100_init(MachineState *machine)
digic4_board_init(&digic4_board_canon_a1100);
}
static QEMUMachine canon_a1100 = {
.name = "canon-a1100",
.desc = "Canon PowerShot A1100 IS",
.init = &canon_a1100_init,
};
static void digic_register_machines(void)
static void canon_a1100_machine_init(MachineClass *mc)
{
qemu_register_machine(&canon_a1100);
mc->desc = "Canon PowerShot A1100 IS";
mc->init = &canon_a1100_init;
}
machine_init(digic_register_machines)
DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init)
+37 -23
View File
@@ -74,8 +74,6 @@ static struct arm_boot_info exynos4_board_binfo = {
.write_secondary_boot = exynos4210_write_secondary,
};
static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS];
static void lan9215_init(uint32_t base, qemu_irq irq)
{
DeviceState *dev;
@@ -97,11 +95,12 @@ static void lan9215_init(uint32_t base, qemu_irq irq)
static Exynos4210State *exynos4_boards_init_common(MachineState *machine,
Exynos4BoardType board_type)
{
MachineClass *mc = MACHINE_GET_CLASS(machine);
if (smp_cpus != EXYNOS4210_NCPUS && !qtest_enabled()) {
fprintf(stderr, "%s board supports only %d CPU cores. Ignoring smp_cpus"
" value.\n",
exynos4_machines[board_type].name,
exynos4_machines[board_type].max_cpus);
mc->name, EXYNOS4210_NCPUS);
}
exynos4_board_binfo.ram_size = exynos4_board_ram_size[board_type];
@@ -145,25 +144,40 @@ static void smdkc210_init(MachineState *machine)
arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo);
}
static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS] = {
[EXYNOS4_BOARD_NURI] = {
.name = "nuri",
.desc = "Samsung NURI board (Exynos4210)",
.init = nuri_init,
.max_cpus = EXYNOS4210_NCPUS,
},
[EXYNOS4_BOARD_SMDKC210] = {
.name = "smdkc210",
.desc = "Samsung SMDKC210 board (Exynos4210)",
.init = smdkc210_init,
.max_cpus = EXYNOS4210_NCPUS,
},
};
static void exynos4_machine_init(void)
static void nuri_class_init(ObjectClass *oc, void *data)
{
qemu_register_machine(&exynos4_machines[EXYNOS4_BOARD_NURI]);
qemu_register_machine(&exynos4_machines[EXYNOS4_BOARD_SMDKC210]);
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Samsung NURI board (Exynos4210)";
mc->init = nuri_init;
mc->max_cpus = EXYNOS4210_NCPUS;
}
machine_init(exynos4_machine_init);
static const TypeInfo nuri_type = {
.name = MACHINE_TYPE_NAME("nuri"),
.parent = TYPE_MACHINE,
.class_init = nuri_class_init,
};
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;
}
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)
+27 -11
View File
@@ -121,22 +121,38 @@ static void verdex_init(MachineState *machine)
qdev_get_gpio_in(cpu->gpio, 99));
}
static QEMUMachine connex_machine = {
.name = "connex",
.desc = "Gumstix Connex (PXA255)",
.init = connex_init,
static void connex_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Gumstix Connex (PXA255)";
mc->init = connex_init;
}
static const TypeInfo connex_type = {
.name = MACHINE_TYPE_NAME("connex"),
.parent = TYPE_MACHINE,
.class_init = connex_class_init,
};
static QEMUMachine verdex_machine = {
.name = "verdex",
.desc = "Gumstix Verdex (PXA270)",
.init = verdex_init,
static void verdex_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Gumstix Verdex (PXA270)";
mc->init = verdex_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)
{
qemu_register_machine(&connex_machine);
qemu_register_machine(&verdex_machine);
type_register_static(&connex_type);
type_register_static(&verdex_type);
}
machine_init(gumstix_machine_init);
machine_init(gumstix_machine_init)
+31 -15
View File
@@ -391,26 +391,42 @@ static void midway_init(MachineState *machine)
calxeda_init(machine, CALXEDA_MIDWAY);
}
static QEMUMachine highbank_machine = {
.name = "highbank",
.desc = "Calxeda Highbank (ECX-1000)",
.init = highbank_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
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;
}
static const TypeInfo highbank_type = {
.name = MACHINE_TYPE_NAME("highbank"),
.parent = TYPE_MACHINE,
.class_init = highbank_class_init,
};
static QEMUMachine midway_machine = {
.name = "midway",
.desc = "Calxeda Midway (ECX-2000)",
.init = midway_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
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;
}
static const TypeInfo midway_type = {
.name = MACHINE_TYPE_NAME("midway"),
.parent = TYPE_MACHINE,
.class_init = midway_class_init,
};
static void calxeda_machines_init(void)
{
qemu_register_machine(&highbank_machine);
qemu_register_machine(&midway_machine);
type_register_static(&highbank_type);
type_register_static(&midway_type);
}
machine_init(calxeda_machines_init);
machine_init(calxeda_machines_init)
+4 -9
View File
@@ -145,15 +145,10 @@ static void imx25_pdk_init(MachineState *machine)
}
}
static QEMUMachine imx25_pdk_machine = {
.name = "imx25_pdk",
.desc = "ARM i.MX25 PDK board (ARM926)",
.init = imx25_pdk_init,
};
static void imx25_pdk_machine_init(void)
static void imx25_pdk_machine_init(MachineClass *mc)
{
qemu_register_machine(&imx25_pdk_machine);
mc->desc = "ARM i.MX25 PDK board (ARM926)";
mc->init = imx25_pdk_init;
}
machine_init(imx25_pdk_machine_init)
DEFINE_MACHINE("imx25_pdk", imx25_pdk_machine_init)
+4 -9
View File
@@ -619,18 +619,13 @@ static void integratorcp_init(MachineState *machine)
arm_load_kernel(cpu, &integrator_binfo);
}
static QEMUMachine integratorcp_machine = {
.name = "integratorcp",
.desc = "ARM Integrator/CP (ARM926EJ-S)",
.init = integratorcp_init,
};
static void integratorcp_machine_init(void)
static void integratorcp_machine_init(MachineClass *mc)
{
qemu_register_machine(&integratorcp_machine);
mc->desc = "ARM Integrator/CP (ARM926EJ-S)";
mc->init = integratorcp_init;
}
machine_init(integratorcp_machine_init);
DEFINE_MACHINE("integratorcp", integratorcp_machine_init)
static Property core_properties[] = {
DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0),
+4 -9
View File
@@ -139,15 +139,10 @@ static void kzm_init(MachineState *machine)
}
}
static QEMUMachine kzm_machine = {
.name = "kzm",
.desc = "ARM KZM Emulation Baseboard (ARM1136)",
.init = kzm_init,
};
static void kzm_machine_init(void)
static void kzm_machine_init(MachineClass *mc)
{
qemu_register_machine(&kzm_machine);
mc->desc = "ARM KZM Emulation Baseboard (ARM1136)";
mc->init = kzm_init;
}
machine_init(kzm_machine_init)
DEFINE_MACHINE("kzm", kzm_machine_init)
+4 -9
View File
@@ -188,15 +188,10 @@ static void mainstone_init(MachineState *machine)
mainstone_common_init(get_system_memory(), machine, mainstone, 0x196);
}
static QEMUMachine mainstone2_machine = {
.name = "mainstone",
.desc = "Mainstone II (PXA27x)",
.init = mainstone_init,
};
static void mainstone_machine_init(void)
static void mainstone2_machine_init(MachineClass *mc)
{
qemu_register_machine(&mainstone2_machine);
mc->desc = "Mainstone II (PXA27x)";
mc->init = mainstone_init;
}
machine_init(mainstone_machine_init);
DEFINE_MACHINE("mainstone", mainstone2_machine_init)
+4 -9
View File
@@ -1709,18 +1709,13 @@ static void musicpal_init(MachineState *machine)
arm_load_kernel(cpu, &musicpal_binfo);
}
static QEMUMachine musicpal_machine = {
.name = "musicpal",
.desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)",
.init = musicpal_init,
};
static void musicpal_machine_init(void)
static void musicpal_machine_init(MachineClass *mc)
{
qemu_register_machine(&musicpal_machine);
mc->desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)";
mc->init = musicpal_init;
}
machine_init(musicpal_machine_init);
DEFINE_MACHINE("musicpal", musicpal_machine_init)
static void mv88w8618_wlan_class_init(ObjectClass *klass, void *data)
{
+4 -9
View File
@@ -43,15 +43,10 @@ static void netduino2_init(MachineState *machine)
}
}
static QEMUMachine netduino2_machine = {
.name = "netduino2",
.desc = "Netduino 2 Machine",
.init = netduino2_init,
};
static void netduino2_machine_init(void)
static void netduino2_machine_init(MachineClass *mc)
{
qemu_register_machine(&netduino2_machine);
mc->desc = "Netduino 2 Machine";
mc->init = netduino2_init;
}
machine_init(netduino2_machine_init);
DEFINE_MACHINE("netduino2", netduino2_machine_init)
+29 -13
View File
@@ -1413,24 +1413,40 @@ static void n810_init(MachineState *machine)
n8x0_init(machine, &n810_binfo, 810);
}
static QEMUMachine n800_machine = {
.name = "n800",
.desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)",
.init = n800_init,
.default_boot_order = "",
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 = "";
}
static const TypeInfo n800_type = {
.name = MACHINE_TYPE_NAME("n800"),
.parent = TYPE_MACHINE,
.class_init = n800_class_init,
};
static QEMUMachine n810_machine = {
.name = "n810",
.desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)",
.init = n810_init,
.default_boot_order = "",
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 = "";
}
static const TypeInfo n810_type = {
.name = MACHINE_TYPE_NAME("n810"),
.parent = TYPE_MACHINE,
.class_init = n810_class_init,
};
static void nseries_machine_init(void)
{
qemu_register_machine(&n800_machine);
qemu_register_machine(&n810_machine);
type_register_static(&n800_type);
type_register_static(&n810_type);
}
machine_init(nseries_machine_init);
machine_init(nseries_machine_init)
+27 -11
View File
@@ -217,22 +217,38 @@ static void sx1_init_v2(MachineState *machine)
sx1_init(machine, 2);
}
static QEMUMachine sx1_machine_v2 = {
.name = "sx1",
.desc = "Siemens SX1 (OMAP310) V2",
.init = sx1_init_v2,
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;
}
static const TypeInfo sx1_machine_v2_type = {
.name = MACHINE_TYPE_NAME("sx1"),
.parent = TYPE_MACHINE,
.class_init = sx1_machine_v2_class_init,
};
static QEMUMachine sx1_machine_v1 = {
.name = "sx1-v1",
.desc = "Siemens SX1 (OMAP310) V1",
.init = sx1_init_v1,
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;
}
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)
{
qemu_register_machine(&sx1_machine_v2);
qemu_register_machine(&sx1_machine_v1);
type_register_static(&sx1_machine_v1_type);
type_register_static(&sx1_machine_v2_type);
}
machine_init(sx1_machine_init);
machine_init(sx1_machine_init)
+4 -9
View File
@@ -269,15 +269,10 @@ static void palmte_init(MachineState *machine)
arm_load_kernel(mpu->cpu, &palmte_binfo);
}
static QEMUMachine palmte_machine = {
.name = "cheetah",
.desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)",
.init = palmte_init,
};
static void palmte_machine_init(void)
static void palmte_machine_init(MachineClass *mc)
{
qemu_register_machine(&palmte_machine);
mc->desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)";
mc->init = palmte_init;
}
machine_init(palmte_machine_init);
DEFINE_MACHINE("cheetah", palmte_machine_init)
+58 -26
View File
@@ -399,41 +399,73 @@ static void realview_pbx_a9_init(MachineState *machine)
realview_init(machine, BOARD_PBX_A9);
}
static QEMUMachine realview_eb_machine = {
.name = "realview-eb",
.desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)",
.init = realview_eb_init,
.block_default_type = IF_SCSI,
static void realview_eb_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)";
mc->init = realview_eb_init;
mc->block_default_type = IF_SCSI;
}
static const TypeInfo realview_eb_type = {
.name = MACHINE_TYPE_NAME("realview-eb"),
.parent = TYPE_MACHINE,
.class_init = realview_eb_class_init,
};
static QEMUMachine realview_eb_mpcore_machine = {
.name = "realview-eb-mpcore",
.desc = "ARM RealView Emulation Baseboard (ARM11MPCore)",
.init = realview_eb_mpcore_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "ARM RealView Emulation Baseboard (ARM11MPCore)";
mc->init = realview_eb_mpcore_init;
mc->block_default_type = IF_SCSI;
mc->max_cpus = 4;
}
static const TypeInfo realview_eb_mpcore_type = {
.name = MACHINE_TYPE_NAME("realview-eb-mpcore"),
.parent = TYPE_MACHINE,
.class_init = realview_eb_mpcore_class_init,
};
static QEMUMachine realview_pb_a8_machine = {
.name = "realview-pb-a8",
.desc = "ARM RealView Platform Baseboard for Cortex-A8",
.init = realview_pb_a8_init,
static void realview_pb_a8_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "ARM RealView Platform Baseboard for Cortex-A8";
mc->init = realview_pb_a8_init;
}
static const TypeInfo realview_pb_a8_type = {
.name = MACHINE_TYPE_NAME("realview-pb-a8"),
.parent = TYPE_MACHINE,
.class_init = realview_pb_a8_class_init,
};
static QEMUMachine realview_pbx_a9_machine = {
.name = "realview-pbx-a9",
.desc = "ARM RealView Platform Baseboard Explore for Cortex-A9",
.init = realview_pbx_a9_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
static void realview_pbx_a9_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "ARM RealView Platform Baseboard Explore for Cortex-A9";
mc->init = realview_pbx_a9_init;
mc->block_default_type = IF_SCSI;
mc->max_cpus = 4;
}
static const TypeInfo realview_pbx_a9_type = {
.name = MACHINE_TYPE_NAME("realview-pbx-a9"),
.parent = TYPE_MACHINE,
.class_init = realview_pbx_a9_class_init,
};
static void realview_machine_init(void)
{
qemu_register_machine(&realview_eb_machine);
qemu_register_machine(&realview_eb_mpcore_machine);
qemu_register_machine(&realview_pb_a8_machine);
qemu_register_machine(&realview_pbx_a9_machine);
type_register_static(&realview_eb_type);
type_register_static(&realview_eb_mpcore_type);
type_register_static(&realview_pb_a8_type);
type_register_static(&realview_pbx_a9_type);
}
machine_init(realview_machine_init);
machine_init(realview_machine_init)
+53 -21
View File
@@ -972,39 +972,71 @@ static void terrier_init(MachineState *machine)
spitz_common_init(machine, terrier, 0x33f);
}
static QEMUMachine akitapda_machine = {
.name = "akita",
.desc = "Akita PDA (PXA270)",
.init = akita_init,
static void akitapda_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Akita PDA (PXA270)";
mc->init = akita_init;
}
static const TypeInfo akitapda_type = {
.name = MACHINE_TYPE_NAME("akita"),
.parent = TYPE_MACHINE,
.class_init = akitapda_class_init,
};
static QEMUMachine spitzpda_machine = {
.name = "spitz",
.desc = "Spitz PDA (PXA270)",
.init = spitz_init,
static void spitzpda_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Spitz PDA (PXA270)";
mc->init = spitz_init;
}
static const TypeInfo spitzpda_type = {
.name = MACHINE_TYPE_NAME("spitz"),
.parent = TYPE_MACHINE,
.class_init = spitzpda_class_init,
};
static QEMUMachine borzoipda_machine = {
.name = "borzoi",
.desc = "Borzoi PDA (PXA270)",
.init = borzoi_init,
static void borzoipda_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Borzoi PDA (PXA270)";
mc->init = borzoi_init;
}
static const TypeInfo borzoipda_type = {
.name = MACHINE_TYPE_NAME("borzoi"),
.parent = TYPE_MACHINE,
.class_init = borzoipda_class_init,
};
static QEMUMachine terrierpda_machine = {
.name = "terrier",
.desc = "Terrier PDA (PXA270)",
.init = terrier_init,
static void terrierpda_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Terrier PDA (PXA270)";
mc->init = terrier_init;
}
static const TypeInfo terrierpda_type = {
.name = MACHINE_TYPE_NAME("terrier"),
.parent = TYPE_MACHINE,
.class_init = terrierpda_class_init,
};
static void spitz_machine_init(void)
{
qemu_register_machine(&akitapda_machine);
qemu_register_machine(&spitzpda_machine);
qemu_register_machine(&borzoipda_machine);
qemu_register_machine(&terrierpda_machine);
type_register_static(&akitapda_type);
type_register_static(&spitzpda_type);
type_register_static(&borzoipda_type);
type_register_static(&terrierpda_type);
}
machine_init(spitz_machine_init);
machine_init(spitz_machine_init)
static bool is_version_0(void *opaque, int version_id)
{
+27 -11
View File
@@ -1366,25 +1366,41 @@ static void lm3s6965evb_init(MachineState *machine)
stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
}
static QEMUMachine lm3s811evb_machine = {
.name = "lm3s811evb",
.desc = "Stellaris LM3S811EVB",
.init = lm3s811evb_init,
static void lm3s811evb_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Stellaris LM3S811EVB";
mc->init = lm3s811evb_init;
}
static const TypeInfo lm3s811evb_type = {
.name = MACHINE_TYPE_NAME("lm3s811evb"),
.parent = TYPE_MACHINE,
.class_init = lm3s811evb_class_init,
};
static QEMUMachine lm3s6965evb_machine = {
.name = "lm3s6965evb",
.desc = "Stellaris LM3S6965EVB",
.init = lm3s6965evb_init,
static void lm3s6965evb_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
mc->desc = "Stellaris LM3S6965EVB";
mc->init = lm3s6965evb_init;
}
static const TypeInfo lm3s6965evb_type = {
.name = MACHINE_TYPE_NAME("lm3s6965evb"),
.parent = TYPE_MACHINE,
.class_init = lm3s6965evb_class_init,
};
static void stellaris_machine_init(void)
{
qemu_register_machine(&lm3s811evb_machine);
qemu_register_machine(&lm3s6965evb_machine);
type_register_static(&lm3s811evb_type);
type_register_static(&lm3s6965evb_type);
}
machine_init(stellaris_machine_init);
machine_init(stellaris_machine_init)
static void stellaris_i2c_class_init(ObjectClass *klass, void *data)
{
+4 -9
View File
@@ -252,18 +252,13 @@ static void tosa_init(MachineState *machine)
sl_bootparam_write(SL_PXA_PARAM_BASE);
}
static QEMUMachine tosapda_machine = {
.name = "tosa",
.desc = "Tosa PDA (PXA255)",
.init = tosa_init,
};
static void tosapda_machine_init(void)
static void tosapda_machine_init(MachineClass *mc)
{
qemu_register_machine(&tosapda_machine);
mc->desc = "Tosa PDA (PXA255)";
mc->init = tosa_init;
}
machine_init(tosapda_machine_init);
DEFINE_MACHINE("tosa", tosapda_machine_init)
static void tosa_dac_class_init(ObjectClass *klass, void *data)
{

Some files were not shown because too many files have changed in this diff Show More