static int core99_kvm_type(const char *arg) { /* Always force PR KVM */ return 2; } static void core99_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Mac99 based PowerMAC"; mc->init = ppc_core99_init; mc->max_cpus = MAX_CPUS; mc->default_boot_order = "cd"; mc->kvm_type = core99_kvm_type; } static const TypeInfo core99_machine_info = { .name = MACHINE_TYPE_NAME("mac99"), .parent = TYPE_MACHINE, .class_init = core99_machine_class_init, }; static void mac_machine_register_types(void) { type_register_static(&core99_machine_info); } type_init(mac_machine_register_types)
} 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_IDE; mc->units_per_default_bus = 1; mc->max_cpus = 4; mc->ignore_memory_transaction_failures = true; } static const TypeInfo highbank_type = { .name = MACHINE_TYPE_NAME("highbank"), .parent = TYPE_MACHINE, .class_init = highbank_class_init, }; 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_IDE; mc->units_per_default_bus = 1; mc->max_cpus = 4; mc->ignore_memory_transaction_failures = true; }
{ sx1_init(machine, 2); } 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; mc->ignore_memory_transaction_failures = true; mc->default_cpu_type = ARM_CPU_TYPE_NAME("ti925t"); } 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_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Siemens SX1 (OMAP310) V1"; mc->init = sx1_init_v1; mc->ignore_memory_transaction_failures = true; mc->default_cpu_type = ARM_CPU_TYPE_NAME("ti925t"); } static const TypeInfo sx1_machine_v1_type = {
}, static void ccw_machine_2_4_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); static GlobalProperty compat_props[] = { CCW_COMPAT_2_4 { /* end of list */ } }; mc->desc = "VirtIO-ccw based S390 machine v2.4"; mc->compat_props = compat_props; } static const TypeInfo ccw_machine_2_4_info = { .name = MACHINE_TYPE_NAME("s390-ccw-virtio-2.4"), .parent = TYPE_S390_CCW_MACHINE, .class_init = ccw_machine_2_4_class_init, }; static void ccw_machine_2_5_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); static GlobalProperty compat_props[] = { CCW_COMPAT_2_5 { /* end of list */ } }; mc->desc = "VirtIO-ccw based S390 machine v2.5"; mc->compat_props = compat_props; }
/* Interrupt line of NIC is connected to GPIO line 99 */ smc91c111_init(&nd_table[0], 0x04000300, qdev_get_gpio_in(cpu->gpio, 99)); } 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 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,
static void sun4u_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Sun4u platform"; mc->init = sun4u_init; mc->block_default_type = IF_IDE; mc->max_cpus = 1; /* XXX for now */ mc->is_default = 1; mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi"); } static const TypeInfo sun4u_type = { .name = MACHINE_TYPE_NAME("sun4u"), .parent = TYPE_MACHINE, .class_init = sun4u_class_init, }; static void sun4v_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Sun4v platform"; mc->init = sun4v_init; mc->block_default_type = IF_IDE; mc->max_cpus = 1; /* XXX for now */ mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1"); }
machine->cpu_model = "cortex-a9"; } realview_init(machine, BOARD_PBX_A9); } 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 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 = {
{ mips_jazz_init(machine, JAZZ_PICA61); } static void mips_magnum_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "MIPS Magnum"; mc->init = mips_magnum_init; mc->block_default_type = IF_SCSI; mc->default_cpu_type = MIPS_CPU_TYPE_NAME("R4000"); } static const TypeInfo mips_magnum_type = { .name = MACHINE_TYPE_NAME("magnum"), .parent = TYPE_MACHINE, .class_init = mips_magnum_class_init, }; static void mips_pica61_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Acer Pica 61"; mc->init = mips_pica61_init; mc->block_default_type = IF_SCSI; mc->default_cpu_type = MIPS_CPU_TYPE_NAME("R4000"); } static const TypeInfo mips_pica61_type = {
lan9215_init(SMDK_LAN9118_BASE_ADDR, qemu_irq_invert(s->irq_table[exynos4210_get_irq(37, 1)])); arm_load_kernel(ARM_CPU(first_cpu), &exynos4_board_binfo); } 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; } 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"),
sun4m_hw_init(&sun4m_hwdefs[8], machine); } static void ss5_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Sun4m platform, SPARCstation 5"; mc->init = ss5_init; mc->block_default_type = IF_SCSI; mc->is_default = 1; mc->default_boot_order = "c"; } static const TypeInfo ss5_type = { .name = MACHINE_TYPE_NAME("SS-5"), .parent = TYPE_MACHINE, .class_init = ss5_class_init, }; static void ss10_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Sun4m platform, SPARCstation 10"; mc->init = ss10_init; mc->block_default_type = IF_SCSI; mc->max_cpus = 4; mc->default_boot_order = "c"; }
mc->block_default_type = IF_IDE; mc->max_cpus = MAX_CPUS; #ifndef TARGET_PPC64 mc->is_default = 1; #endif /* TOFIX "cad" when Mac floppy is implemented */ mc->default_boot_order = "cd"; mc->kvm_type = heathrow_kvm_type; mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("750_v3.1"); mc->default_display = "std"; mc->ignore_boot_device_suffixes = true; fwc->get_dev_path = heathrow_fw_dev_path; } static const TypeInfo ppc_heathrow_machine_info = { .name = MACHINE_TYPE_NAME("g3beige"), .parent = TYPE_MACHINE, .class_init = heathrow_class_init, .interfaces = (InterfaceInfo[]) { { TYPE_FW_PATH_PROVIDER }, { } }, }; static void ppc_heathrow_register_types(void) { type_register_static(&ppc_heathrow_machine_info); } type_init(ppc_heathrow_register_types);
mc->default_ram_size = board->ram; } amc->board = board; } static const TypeInfo aspeed_machine_type = { .name = TYPE_ASPEED_MACHINE, .parent = TYPE_MACHINE, .instance_size = sizeof(AspeedMachine), .class_size = sizeof(AspeedMachineClass), .abstract = true, }; static const AspeedBoardConfig aspeed_boards[] = { { .name = MACHINE_TYPE_NAME("palmetto-bmc"), .desc = "OpenPOWER Palmetto BMC (ARM926EJ-S)", .soc_name = "ast2400-a1", .hw_strap1 = PALMETTO_BMC_HW_STRAP1, .fmc_model = "n25q256a", .spi_model = "mx25l25635e", .num_cs = 1, .i2c_init = palmetto_bmc_i2c_init, .ram = 256 * MiB, }, { .name = MACHINE_TYPE_NAME("ast2500-evb"), .desc = "Aspeed AST2500 EVB (ARM1176)", .soc_name = "ast2500-a1", .hw_strap1 = AST2500_EVB_HW_STRAP1, .fmc_model = "w25q256", .spi_model = "mx25l25635e",
} qemu_register_reset(main_cpu_reset, reset_info); } static void lm32_evr_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "LatticeMico32 EVR32 eval system"; mc->init = lm32_evr_init; mc->is_default = 1; } static const TypeInfo lm32_evr_type = { .name = MACHINE_TYPE_NAME("lm32-evr"), .parent = TYPE_MACHINE, .class_init = lm32_evr_class_init, }; static void lm32_uclinux_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "lm32 platform for uClinux and u-boot by Theobroma Systems"; mc->init = lm32_uclinux_init; mc->is_default = 0; } static const TypeInfo lm32_uclinux_type = { .name = MACHINE_TYPE_NAME("lm32-uclinux"),
static void xlnx_ep108_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Xilinx ZynqMP EP108 board (Deprecated, please use xlnx-zcu102)"; mc->init = xlnx_ep108_init; mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->ignore_memory_transaction_failures = true; mc->max_cpus = XLNX_ZYNQMP_NUM_APU_CPUS + XLNX_ZYNQMP_NUM_RPU_CPUS; mc->default_cpus = XLNX_ZYNQMP_NUM_APU_CPUS; } static const TypeInfo xlnx_ep108_machine_init_typeinfo = { .name = MACHINE_TYPE_NAME("xlnx-ep108"), .parent = TYPE_MACHINE, .class_init = xlnx_ep108_machine_class_init, .instance_init = xlnx_ep108_machine_instance_init, .instance_size = sizeof(XlnxZCU102), }; static void xlnx_ep108_machine_init_register_types(void) { type_register_static(&xlnx_ep108_machine_init_typeinfo); } static void xlnx_zcu102_init(MachineState *machine) { XlnxZCU102 *s = ZCU102_MACHINE(machine);