mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
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:
+6
-11
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
Reference in New Issue
Block a user