.init = clipper_init,
.max_cpus = 4,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void clipper_machine_init(void)
.name = "an5206",
.desc = "Arnewsh 5206",
.init = an5206_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void an5206_machine_init(void)
.desc = "AXIS devboard 88",
.init = axisdev88_init,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void axisdev88_machine_init(void)
#include "sysemu/blockdev.h"
#include "qdev.h"
+#define DEFAULT_MACHINE_OPTIONS \
+ .boot_order = "cad"
+
typedef struct QEMUMachineInitArgs {
ram_addr_t ram_size;
const char *boot_device;
no_sdcard:1;
int is_default;
const char *default_machine_opts;
+ const char *boot_order;
GlobalProperty *compat_props;
struct QEMUMachine *next;
const char *hw_version;
.name = "collie",
.desc = "Collie PDA (SA-1110)",
.init = collie_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void collie_machine_init(void)
.name = "dummy",
.desc = "Dummy board",
.init = dummy_m68k_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void dummy_m68k_machine_init(void)
.desc = "Samsung NURI board (Exynos4210)",
.init = nuri_init,
.max_cpus = EXYNOS4210_NCPUS,
+ DEFAULT_MACHINE_OPTIONS,
},
[EXYNOS4_BOARD_SMDKC210] = {
.name = "smdkc210",
.desc = "Samsung SMDKC210 board (Exynos4210)",
.init = smdkc210_init,
.max_cpus = EXYNOS4210_NCPUS,
+ DEFAULT_MACHINE_OPTIONS,
},
};
.name = "connex",
.desc = "Gumstix Connex (PXA255)",
.init = connex_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine verdex_machine = {
.name = "verdex",
.desc = "Gumstix Verdex (PXA270)",
.init = verdex_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void gumstix_machine_init(void)
.init = highbank_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static void highbank_machine_init(void)
.desc = "ARM Integrator/CP (ARM926EJ-S)",
.init = integratorcp_init,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void integratorcp_machine_init(void)
.name = "kzm",
.desc = "ARM KZM Emulation Baseboard (ARM1136)",
.init = kzm_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void kzm_machine_init(void)
.name = "leon3_generic",
.desc = "Leon-3 generic",
.init = leon3_generic_hw_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void leon3_machine_init(void)
.name = "lm32-evr",
.desc = "LatticeMico32 EVR32 eval system",
.init = lm32_evr_init,
- .is_default = 1
+ .is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine lm32_uclinux_machine = {
.name = "lm32-uclinux",
.desc = "lm32 platform for uClinux and u-boot by Theobroma Systems",
.init = lm32_uclinux_init,
- .is_default = 0
+ .is_default = 0,
+ DEFAULT_MACHINE_OPTIONS,
};
static void lm32_machine_init(void)
.name = "mainstone",
.desc = "Mainstone II (PXA27x)",
.init = mainstone_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mainstone_machine_init(void)
.desc = "MCF5206EVB",
.init = mcf5208evb_init,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mcf5208evb_machine_init(void)
.name = "milkymist",
.desc = "Milkymist One",
.init = milkymist_init,
- .is_default = 0
+ .is_default = 0,
+ DEFAULT_MACHINE_OPTIONS,
};
static void milkymist_machine_init(void)
.name = "fulong2e",
.desc = "Fulong 2e mini pc",
.init = mips_fulong2e_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mips_fulong2e_machine_init(void)
.desc = "MIPS Magnum",
.init = mips_magnum_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine mips_pica61_machine = {
.desc = "Acer Pica 61",
.init = mips_pica61_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mips_jazz_machine_init(void)
.init = mips_malta_init,
.max_cpus = 16,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mips_malta_register_types(void)
.name = "mipssim",
.desc = "MIPS MIPSsim platform",
.init = mips_mipssim_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mips_mipssim_machine_init(void)
.name = "mips",
.desc = "mips r4k platform",
.init = mips_r4k_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void mips_machine_init(void)
.name = "musicpal",
.desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)",
.init = musicpal_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void musicpal_machine_init(void)
.name = "n800",
.desc = "Nokia N800 tablet aka. RX-34 (OMAP2420)",
.init = n800_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine n810_machine = {
.name = "n810",
.desc = "Nokia N810 tablet aka. RX-44 (OMAP2420)",
.init = n810_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void nseries_machine_init(void)
.desc = "empty machine",
.init = machine_none_init,
.max_cpus = 0,
+ DEFAULT_MACHINE_OPTIONS,
};
static void register_machines(void)
.name = "sx1",
.desc = "Siemens SX1 (OMAP310) V2",
.init = sx1_init_v2,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine sx1_machine_v1 = {
.name = "sx1-v1",
.desc = "Siemens SX1 (OMAP310) V1",
.init = sx1_init_v1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void sx1_machine_init(void)
.init = openrisc_sim_init,
.max_cpus = 1,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void openrisc_sim_machine_init(void)
.name = "cheetah",
.desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)",
.init = palmte_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void palmte_machine_init(void)
.init = pc_init_pci_1_3,
.max_cpus = 255,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_1_3 \
PC_COMPAT_1_3,
{ /* end of list */ }
},
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_1_2 \
PC_COMPAT_1_2,
{ /* end of list */ }
},
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_1_1 \
PC_COMPAT_1_1,
{ /* end of list */ }
},
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_1_0 \
{ /* end of list */ }
},
.hw_version = "1.0",
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_0_15 \
{ /* end of list */ }
},
.hw_version = "0.15",
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_0_14 \
{ /* end of list */ }
},
.hw_version = "0.14",
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_0_13 \
{ /* end of list */ }
},
.hw_version = "0.13",
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_0_12 \
{ /* end of list */ }
},
.hw_version = "0.12",
+ DEFAULT_MACHINE_OPTIONS,
};
#define PC_COMPAT_0_11 \
{ /* end of list */ }
},
.hw_version = "0.11",
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine pc_machine_v0_10 = {
{ /* end of list */ }
},
.hw_version = "0.10",
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine isapc_machine = {
},
{ /* end of list */ }
},
+ DEFAULT_MACHINE_OPTIONS,
};
#ifdef CONFIG_XEN
.init = pc_xen_hvm_init,
.max_cpus = HVM_MAX_VCPUS,
.default_machine_opts = "accel=xen",
+ DEFAULT_MACHINE_OPTIONS,
};
#endif
.name = "petalogix-ml605",
.desc = "PetaLogix linux refdesign for xilinx ml605 little endian",
.init = petalogix_ml605_init,
- .is_default = 0
+ .is_default = 0,
+ DEFAULT_MACHINE_OPTIONS,
};
static void petalogix_ml605_machine_init(void)
.name = "petalogix-s3adsp1800",
.desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800",
.init = petalogix_s3adsp1800_init,
- .is_default = 1
+ .is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void petalogix_s3adsp1800_machine_init(void)
.desc = "generic paravirt e500 platform",
.init = e500plat_init,
.max_cpus = 15,
+ DEFAULT_MACHINE_OPTIONS,
};
static void e500plat_machine_init(void)
.desc = "mpc8544ds",
.init = mpc8544ds_init,
.max_cpus = 15,
+ DEFAULT_MACHINE_OPTIONS,
};
static void ppce500_machine_init(void)
.name = "taihu",
.desc = "taihu",
.init = taihu_405ep_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void ppc405_machine_init(void)
.name = "bamboo",
.desc = "bamboo",
.init = bamboo_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void bamboo_machine_init(void)
#ifdef TARGET_PPC64
.is_default = 1,
#endif
+ DEFAULT_MACHINE_OPTIONS,
};
static void core99_machine_init(void)
#ifndef TARGET_PPC64
.is_default = 1,
#endif
+ DEFAULT_MACHINE_OPTIONS,
};
static void heathrow_machine_init(void)
.desc = "PowerPC PREP platform",
.init = ppc_prep_init,
.max_cpus = MAX_CPUS,
+ DEFAULT_MACHINE_OPTIONS,
};
static void prep_machine_init(void)
.desc = "PKUnity Version-3 based on UniCore32",
.init = puv3_init,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void puv3_machine_init(void)
.name = "r2d",
.desc = "r2d-plus board",
.init = r2d_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void r2d_machine_init(void)
.desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)",
.init = realview_eb_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine realview_eb_mpcore_machine = {
.init = realview_eb_mpcore_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine realview_pb_a8_machine = {
.name = "realview-pb-a8",
.desc = "ARM RealView Platform Baseboard for Cortex-A8",
.init = realview_pb_a8_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine realview_pbx_a9_machine = {
.init = realview_pbx_a9_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static void realview_machine_init(void)
.use_virtcon = 1,
.max_cpus = 255,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void s390_machine_init(void)
.desc = "shix card",
.init = shix_init,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void shix_machine_init(void)
.block_default_type = IF_SCSI,
.max_cpus = MAX_CPUS,
.no_parallel = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void spapr_machine_init(void)
.name = "akita",
.desc = "Akita PDA (PXA270)",
.init = akita_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine spitzpda_machine = {
.name = "spitz",
.desc = "Spitz PDA (PXA270)",
.init = spitz_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine borzoipda_machine = {
.name = "borzoi",
.desc = "Borzoi PDA (PXA270)",
.init = borzoi_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine terrierpda_machine = {
.name = "terrier",
.desc = "Terrier PDA (PXA270)",
.init = terrier_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void spitz_machine_init(void)
.name = "lm3s811evb",
.desc = "Stellaris LM3S811EVB",
.init = lm3s811evb_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine lm3s6965evb_machine = {
.name = "lm3s6965evb",
.desc = "Stellaris LM3S6965EVB",
.init = lm3s6965evb_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void stellaris_machine_init(void)
.init = ss5_init,
.block_default_type = IF_SCSI,
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss10_machine = {
.init = ss10_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss600mp_machine = {
.init = ss600mp_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss20_machine = {
.init = ss20_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine voyager_machine = {
.desc = "Sun4m platform, SPARCstation Voyager",
.init = vger_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss_lx_machine = {
.desc = "Sun4m platform, SPARCstation LX",
.init = ss_lx_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss4_machine = {
.desc = "Sun4m platform, SPARCstation 4",
.init = ss4_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine scls_machine = {
.desc = "Sun4m platform, SPARCClassic",
.init = scls_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine sbook_machine = {
.desc = "Sun4m platform, SPARCbook",
.init = sbook_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static const struct sun4d_hwdef sun4d_hwdefs[] = {
.init = ss1000_init,
.block_default_type = IF_SCSI,
.max_cpus = 8,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine ss2000_machine = {
.init = ss2000_init,
.block_default_type = IF_SCSI,
.max_cpus = 20,
+ DEFAULT_MACHINE_OPTIONS,
};
static const struct sun4c_hwdef sun4c_hwdefs[] = {
.desc = "Sun4c platform, SPARCstation 2",
.init = ss2_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static void sun4m_register_types(void)
.init = sun4u_init,
.max_cpus = 1, // XXX for now
.is_default = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine sun4v_machine = {
.desc = "Sun4v platform",
.init = sun4v_init,
.max_cpus = 1, // XXX for now
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine niagara_machine = {
.desc = "Sun4v platform, Niagara",
.init = niagara_init,
.max_cpus = 1, // XXX for now
+ DEFAULT_MACHINE_OPTIONS,
};
static void sun4u_register_types(void)
.name = "tosa",
.desc = "Tosa PDA (PXA255)",
.init = tosa_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void tosapda_machine_init(void)
.desc = "ARM Versatile/PB (ARM926EJ-S)",
.init = vpb_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine versatileab_machine = {
.desc = "ARM Versatile/AB (ARM926EJ-S)",
.init = vab_init,
.block_default_type = IF_SCSI,
+ DEFAULT_MACHINE_OPTIONS,
};
static void versatile_machine_init(void)
.init = vexpress_a9_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine vexpress_a15_machine = {
.init = vexpress_a15_init,
.block_default_type = IF_SCSI,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static void vexpress_machine_init(void)
.name = "virtex-ml507",
.desc = "Xilinx Virtex ML507 reference design",
.init = virtex_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void virtex_machine_init(void)
.init = xen_init_pv,
.max_cpus = 1,
.default_machine_opts = "accel=xen",
+ DEFAULT_MACHINE_OPTIONS,
};
static void xenpv_machine_init(void)
.init = zynq_init,
.block_default_type = IF_SCSI,
.max_cpus = 1,
- .no_sdcard = 1
+ .no_sdcard = 1,
+ DEFAULT_MACHINE_OPTIONS,
};
static void zynq_machine_init(void)
.desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
.init = xtensa_lx60_init,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static QEMUMachine xtensa_lx200_machine = {
.desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
.init = xtensa_lx200_init,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static void xtensa_lx_machines_init(void)
.is_default = true,
.init = xtensa_sim_init,
.max_cpus = 4,
+ DEFAULT_MACHINE_OPTIONS,
};
static void xtensa_sim_machine_init(void)
.name = "z2",
.desc = "Zipit Z2 (PXA27x)",
.init = z2_init,
+ DEFAULT_MACHINE_OPTIONS,
};
static void z2_machine_init(void)
const char *icount_option = NULL;
const char *initrd_filename;
const char *kernel_filename, *kernel_cmdline;
- char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
+ char boot_devices[33] = "";
DisplayState *ds;
int cyls, heads, secs, translation;
QemuOpts *hda_opts = NULL, *opts, *machine_opts;
qdev_machine_init();
QEMUMachineInitArgs args = { .ram_size = ram_size,
- .boot_device = boot_devices,
+ .boot_device = (boot_devices[0] == '\0') ?
+ machine->boot_order :
+ boot_devices,
.kernel_filename = kernel_filename,
.kernel_cmdline = kernel_cmdline,
.initrd_filename = initrd_filename,