From: Avik Sil Date: Tue, 8 Jan 2013 07:06:30 +0000 (+0530) Subject: Make default boot order machine specific X-Git-Tag: v1.4.0-rc0~173 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e4ada29e909787f629626660b1561f6a680187d3;p=thirdparty%2Fqemu.git Make default boot order machine specific This patch makes default boot order machine specific instead of set globally. The default boot order can be set per machine in QEMUMachine boot_order. This also allows a machine to receive a NULL boot order when -boot isn't used and take an appropriate action accordingly. This helps machine boots from the devices as set in guest's non-volatile memory location in case no boot order is provided by the user. Reviewed-by: Anthony Liguori Signed-off-by: Avik Sil Signed-off-by: Anthony Liguori --- diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c index e2980e98937..1cd549c69fa 100644 --- a/hw/alpha_dp264.c +++ b/hw/alpha_dp264.c @@ -171,6 +171,7 @@ static QEMUMachine clipper_machine = { .init = clipper_init, .max_cpus = 4, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void clipper_machine_init(void) diff --git a/hw/an5206.c b/hw/an5206.c index dcfe34b3ae2..750115a3aaf 100644 --- a/hw/an5206.c +++ b/hw/an5206.c @@ -86,6 +86,7 @@ static QEMUMachine an5206_machine = { .name = "an5206", .desc = "Arnewsh 5206", .init = an5206_init, + DEFAULT_MACHINE_OPTIONS, }; static void an5206_machine_init(void) diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c index 2ca606b835e..941898158c9 100644 --- a/hw/axis_dev88.c +++ b/hw/axis_dev88.c @@ -355,6 +355,7 @@ static QEMUMachine axisdev88_machine = { .desc = "AXIS devboard 88", .init = axisdev88_init, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void axisdev88_machine_init(void) diff --git a/hw/boards.h b/hw/boards.h index 4540e952f7b..3ff9665b1f0 100644 --- a/hw/boards.h +++ b/hw/boards.h @@ -6,6 +6,9 @@ #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; @@ -35,6 +38,7 @@ typedef struct QEMUMachine { 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; diff --git a/hw/collie.c b/hw/collie.c index 804d61a421d..d19db590feb 100644 --- a/hw/collie.c +++ b/hw/collie.c @@ -62,6 +62,7 @@ static QEMUMachine collie_machine = { .name = "collie", .desc = "Collie PDA (SA-1110)", .init = collie_init, + DEFAULT_MACHINE_OPTIONS, }; static void collie_machine_init(void) diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c index 7878cc3e155..3a88805d0f0 100644 --- a/hw/dummy_m68k.c +++ b/hw/dummy_m68k.c @@ -73,6 +73,7 @@ static QEMUMachine dummy_m68k_machine = { .name = "dummy", .desc = "Dummy board", .init = dummy_m68k_init, + DEFAULT_MACHINE_OPTIONS, }; static void dummy_m68k_machine_init(void) diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c index b26796847b5..968bcc3c328 100644 --- a/hw/exynos4_boards.c +++ b/hw/exynos4_boards.c @@ -150,12 +150,14 @@ static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS] = { .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, }, }; diff --git a/hw/gumstix.c b/hw/gumstix.c index 6fb068386c0..bea16058f71 100644 --- a/hw/gumstix.c +++ b/hw/gumstix.c @@ -122,12 +122,14 @@ static QEMUMachine connex_machine = { .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) diff --git a/hw/highbank.c b/hw/highbank.c index 98deca8bce9..7bc6b444cc0 100644 --- a/hw/highbank.c +++ b/hw/highbank.c @@ -331,6 +331,7 @@ static QEMUMachine highbank_machine = { .init = highbank_init, .block_default_type = IF_SCSI, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static void highbank_machine_init(void) diff --git a/hw/integratorcp.c b/hw/integratorcp.c index 6c824dc36e0..9e3630a43de 100644 --- a/hw/integratorcp.c +++ b/hw/integratorcp.c @@ -512,6 +512,7 @@ static QEMUMachine integratorcp_machine = { .desc = "ARM Integrator/CP (ARM926EJ-S)", .init = integratorcp_init, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void integratorcp_machine_init(void) diff --git a/hw/kzm.c b/hw/kzm.c index fd00af921ef..fb3316551dd 100644 --- a/hw/kzm.c +++ b/hw/kzm.c @@ -146,6 +146,7 @@ static QEMUMachine kzm_machine = { .name = "kzm", .desc = "ARM KZM Emulation Baseboard (ARM1136)", .init = kzm_init, + DEFAULT_MACHINE_OPTIONS, }; static void kzm_machine_init(void) diff --git a/hw/leon3.c b/hw/leon3.c index 79b3a41def1..f16a8bb4ece 100644 --- a/hw/leon3.c +++ b/hw/leon3.c @@ -212,6 +212,7 @@ static QEMUMachine leon3_generic_machine = { .name = "leon3_generic", .desc = "Leon-3 generic", .init = leon3_generic_hw_init, + DEFAULT_MACHINE_OPTIONS, }; static void leon3_machine_init(void) diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c index 42e8b6b52ab..2bc06d7b7b3 100644 --- a/hw/lm32_boards.c +++ b/hw/lm32_boards.c @@ -287,14 +287,16 @@ static QEMUMachine lm32_evr_machine = { .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) diff --git a/hw/mainstone.c b/hw/mainstone.c index a5ddbeff9d8..d1ff6e76d6d 100644 --- a/hw/mainstone.c +++ b/hw/mainstone.c @@ -179,6 +179,7 @@ static QEMUMachine mainstone2_machine = { .name = "mainstone", .desc = "Mainstone II (PXA27x)", .init = mainstone_init, + DEFAULT_MACHINE_OPTIONS, }; static void mainstone_machine_init(void) diff --git a/hw/mcf5208.c b/hw/mcf5208.c index c1816cc9d11..2c9a5dc98a1 100644 --- a/hw/mcf5208.c +++ b/hw/mcf5208.c @@ -292,6 +292,7 @@ static QEMUMachine mcf5208evb_machine = { .desc = "MCF5206EVB", .init = mcf5208evb_init, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void mcf5208evb_machine_init(void) diff --git a/hw/milkymist.c b/hw/milkymist.c index 0c23b672f36..c04eb35fddb 100644 --- a/hw/milkymist.c +++ b/hw/milkymist.c @@ -206,7 +206,8 @@ static QEMUMachine milkymist_machine = { .name = "milkymist", .desc = "Milkymist One", .init = milkymist_init, - .is_default = 0 + .is_default = 0, + DEFAULT_MACHINE_OPTIONS, }; static void milkymist_machine_init(void) diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c index 4d8ee8c09ca..8b532e1e0dc 100644 --- a/hw/mips_fulong2e.c +++ b/hw/mips_fulong2e.c @@ -400,6 +400,7 @@ static QEMUMachine mips_fulong2e_machine = { .name = "fulong2e", .desc = "Fulong 2e mini pc", .init = mips_fulong2e_init, + DEFAULT_MACHINE_OPTIONS, }; static void mips_fulong2e_machine_init(void) diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c index 63df2a734b5..72f70cae52d 100644 --- a/hw/mips_jazz.c +++ b/hw/mips_jazz.c @@ -325,6 +325,7 @@ static QEMUMachine mips_magnum_machine = { .desc = "MIPS Magnum", .init = mips_magnum_init, .block_default_type = IF_SCSI, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine mips_pica61_machine = { @@ -332,6 +333,7 @@ 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) diff --git a/hw/mips_malta.c b/hw/mips_malta.c index 771d1256d76..2a150dfb84d 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -1020,6 +1020,7 @@ static QEMUMachine mips_malta_machine = { .init = mips_malta_init, .max_cpus = 16, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void mips_malta_register_types(void) diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c index 67066c0ca11..8fd6692e825 100644 --- a/hw/mips_mipssim.c +++ b/hw/mips_mipssim.c @@ -229,6 +229,7 @@ static QEMUMachine mips_mipssim_machine = { .name = "mipssim", .desc = "MIPS MIPSsim platform", .init = mips_mipssim_init, + DEFAULT_MACHINE_OPTIONS, }; static void mips_mipssim_machine_init(void) diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index 59c43e591c0..5df7eb44696 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -302,6 +302,7 @@ static QEMUMachine mips_machine = { .name = "mips", .desc = "mips r4k platform", .init = mips_r4k_init, + DEFAULT_MACHINE_OPTIONS, }; static void mips_machine_init(void) diff --git a/hw/musicpal.c b/hw/musicpal.c index 24a1722703e..035865f0583 100644 --- a/hw/musicpal.c +++ b/hw/musicpal.c @@ -1658,6 +1658,7 @@ static QEMUMachine musicpal_machine = { .name = "musicpal", .desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)", .init = musicpal_init, + DEFAULT_MACHINE_OPTIONS, }; static void musicpal_machine_init(void) diff --git a/hw/nseries.c b/hw/nseries.c index d96b750ccdb..6b717cfe1e4 100644 --- a/hw/nseries.c +++ b/hw/nseries.c @@ -1411,12 +1411,14 @@ static QEMUMachine n800_machine = { .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) diff --git a/hw/null-machine.c b/hw/null-machine.c index d813c089e7c..bdf109fef1e 100644 --- a/hw/null-machine.c +++ b/hw/null-machine.c @@ -24,6 +24,7 @@ static QEMUMachine machine_none = { .desc = "empty machine", .init = machine_none_init, .max_cpus = 0, + DEFAULT_MACHINE_OPTIONS, }; static void register_machines(void) diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c index 0f031215057..30998c5ff36 100644 --- a/hw/omap_sx1.c +++ b/hw/omap_sx1.c @@ -219,12 +219,14 @@ static QEMUMachine sx1_machine_v2 = { .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) diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c index d2b2379ae20..fb47cdc82dd 100644 --- a/hw/openrisc_sim.c +++ b/hw/openrisc_sim.c @@ -139,6 +139,7 @@ static QEMUMachine openrisc_sim_machine = { .init = openrisc_sim_init, .max_cpus = 1, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void openrisc_sim_machine_init(void) diff --git a/hw/palm.c b/hw/palm.c index 5219e373948..a633dfc4b17 100644 --- a/hw/palm.c +++ b/hw/palm.c @@ -280,6 +280,7 @@ static QEMUMachine palmte_machine = { .name = "cheetah", .desc = "Palm Tungsten|E aka. Cheetah PDA (OMAP310)", .init = palmte_init, + DEFAULT_MACHINE_OPTIONS, }; static void palmte_machine_init(void) diff --git a/hw/pc_piix.c b/hw/pc_piix.c index e630aeab9de..0a6923dcef1 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -289,6 +289,7 @@ static QEMUMachine pc_i440fx_machine_v1_4 = { .init = pc_init_pci_1_3, .max_cpus = 255, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_1_3 \ @@ -307,6 +308,7 @@ static QEMUMachine pc_machine_v1_3 = { PC_COMPAT_1_3, { /* end of list */ } }, + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_1_2 \ @@ -346,6 +348,7 @@ static QEMUMachine pc_machine_v1_2 = { PC_COMPAT_1_2, { /* end of list */ } }, + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_1_1 \ @@ -389,6 +392,7 @@ static QEMUMachine pc_machine_v1_1 = { PC_COMPAT_1_1, { /* end of list */ } }, + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_1_0 \ @@ -425,6 +429,7 @@ static QEMUMachine pc_machine_v1_0 = { { /* end of list */ } }, .hw_version = "1.0", + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_0_15 \ @@ -440,6 +445,7 @@ static QEMUMachine pc_machine_v0_15 = { { /* end of list */ } }, .hw_version = "0.15", + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_0_14 \ @@ -481,6 +487,7 @@ static QEMUMachine pc_machine_v0_14 = { { /* end of list */ } }, .hw_version = "0.14", + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_0_13 \ @@ -518,6 +525,7 @@ static QEMUMachine pc_machine_v0_13 = { { /* end of list */ } }, .hw_version = "0.13", + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_0_12 \ @@ -551,6 +559,7 @@ static QEMUMachine pc_machine_v0_12 = { { /* end of list */ } }, .hw_version = "0.12", + DEFAULT_MACHINE_OPTIONS, }; #define PC_COMPAT_0_11 \ @@ -584,6 +593,7 @@ static QEMUMachine pc_machine_v0_11 = { { /* end of list */ } }, .hw_version = "0.11", + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine pc_machine_v0_10 = { @@ -617,6 +627,7 @@ static QEMUMachine pc_machine_v0_10 = { { /* end of list */ } }, .hw_version = "0.10", + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine isapc_machine = { @@ -632,6 +643,7 @@ static QEMUMachine isapc_machine = { }, { /* end of list */ } }, + DEFAULT_MACHINE_OPTIONS, }; #ifdef CONFIG_XEN @@ -641,6 +653,7 @@ static QEMUMachine xenfv_machine = { .init = pc_xen_hvm_init, .max_cpus = HVM_MAX_VCPUS, .default_machine_opts = "accel=xen", + DEFAULT_MACHINE_OPTIONS, }; #endif diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c index 1cfdb2f3025..9cad07476e3 100644 --- a/hw/petalogix_ml605_mmu.c +++ b/hw/petalogix_ml605_mmu.c @@ -173,7 +173,8 @@ static QEMUMachine petalogix_ml605_machine = { .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) diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c index 27ecfe7752c..8605fb8c003 100644 --- a/hw/petalogix_s3adsp1800_mmu.c +++ b/hw/petalogix_s3adsp1800_mmu.c @@ -115,7 +115,8 @@ static QEMUMachine petalogix_s3adsp1800_machine = { .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) diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c index 4deb02ac38f..2dcc4a98525 100644 --- a/hw/ppc/e500plat.c +++ b/hw/ppc/e500plat.c @@ -54,6 +54,7 @@ static QEMUMachine e500plat_machine = { .desc = "generic paravirt e500 platform", .init = e500plat_init, .max_cpus = 15, + DEFAULT_MACHINE_OPTIONS, }; static void e500plat_machine_init(void) diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c index f9ae20f5a3b..8e05e55c876 100644 --- a/hw/ppc/mpc8544ds.c +++ b/hw/ppc/mpc8544ds.c @@ -54,6 +54,7 @@ static QEMUMachine ppce500_machine = { .desc = "mpc8544ds", .init = mpc8544ds_init, .max_cpus = 15, + DEFAULT_MACHINE_OPTIONS, }; static void ppce500_machine_init(void) diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c index 8f7f0d07d12..45ed3769a31 100644 --- a/hw/ppc405_boards.c +++ b/hw/ppc405_boards.c @@ -649,6 +649,7 @@ static QEMUMachine taihu_machine = { .name = "taihu", .desc = "taihu", .init = taihu_405ep_init, + DEFAULT_MACHINE_OPTIONS, }; static void ppc405_machine_init(void) diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c index d1e4f0e8119..73b5ac725c1 100644 --- a/hw/ppc440_bamboo.c +++ b/hw/ppc440_bamboo.c @@ -295,6 +295,7 @@ static QEMUMachine bamboo_machine = { .name = "bamboo", .desc = "bamboo", .init = bamboo_init, + DEFAULT_MACHINE_OPTIONS, }; static void bamboo_machine_init(void) diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index fabcc08b406..7a465a7ebbd 100644 --- a/hw/ppc_newworld.c +++ b/hw/ppc_newworld.c @@ -442,6 +442,7 @@ static QEMUMachine core99_machine = { #ifdef TARGET_PPC64 .is_default = 1, #endif + DEFAULT_MACHINE_OPTIONS, }; static void core99_machine_init(void) diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c index fff5129ca9a..de34e7530af 100644 --- a/hw/ppc_oldworld.c +++ b/hw/ppc_oldworld.c @@ -341,6 +341,7 @@ static QEMUMachine heathrow_machine = { #ifndef TARGET_PPC64 .is_default = 1, #endif + DEFAULT_MACHINE_OPTIONS, }; static void heathrow_machine_init(void) diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c index 417583a96d3..a35fbedbdce 100644 --- a/hw/ppc_prep.c +++ b/hw/ppc_prep.c @@ -669,6 +669,7 @@ static QEMUMachine prep_machine = { .desc = "PowerPC PREP platform", .init = ppc_prep_init, .max_cpus = MAX_CPUS, + DEFAULT_MACHINE_OPTIONS, }; static void prep_machine_init(void) diff --git a/hw/puv3.c b/hw/puv3.c index 7814bc50512..c722510d7e7 100644 --- a/hw/puv3.c +++ b/hw/puv3.c @@ -124,6 +124,7 @@ static QEMUMachine puv3_machine = { .desc = "PKUnity Version-3 based on UniCore32", .init = puv3_init, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void puv3_machine_init(void) diff --git a/hw/r2d.c b/hw/r2d.c index 7cf1893d190..72b593f5970 100644 --- a/hw/r2d.c +++ b/hw/r2d.c @@ -347,6 +347,7 @@ static QEMUMachine r2d_machine = { .name = "r2d", .desc = "r2d-plus board", .init = r2d_init, + DEFAULT_MACHINE_OPTIONS, }; static void r2d_machine_init(void) diff --git a/hw/realview.c b/hw/realview.c index 872b3b468a5..cecb67e4d51 100644 --- a/hw/realview.c +++ b/hw/realview.c @@ -365,6 +365,7 @@ static QEMUMachine realview_eb_machine = { .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 = { @@ -373,12 +374,14 @@ 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 = { @@ -387,6 +390,7 @@ 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) diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c index 20827761d09..0e93cc3641a 100644 --- a/hw/s390-virtio.c +++ b/hw/s390-virtio.c @@ -330,6 +330,7 @@ static QEMUMachine s390_machine = { .use_virtcon = 1, .max_cpus = 255, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void s390_machine_init(void) diff --git a/hw/shix.c b/hw/shix.c index 86d703ad702..6f2d55a155c 100644 --- a/hw/shix.c +++ b/hw/shix.c @@ -92,6 +92,7 @@ static QEMUMachine shix_machine = { .desc = "shix card", .init = shix_init, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static void shix_machine_init(void) diff --git a/hw/spapr.c b/hw/spapr.c index 76aa09ba81f..64765988787 100644 --- a/hw/spapr.c +++ b/hw/spapr.c @@ -964,6 +964,7 @@ static QEMUMachine spapr_machine = { .block_default_type = IF_SCSI, .max_cpus = MAX_CPUS, .no_parallel = 1, + DEFAULT_MACHINE_OPTIONS, }; static void spapr_machine_init(void) diff --git a/hw/spitz.c b/hw/spitz.c index f1659c45029..ab7ca80f6c5 100644 --- a/hw/spitz.c +++ b/hw/spitz.c @@ -959,24 +959,28 @@ static QEMUMachine akitapda_machine = { .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) diff --git a/hw/stellaris.c b/hw/stellaris.c index 12e45685346..b5e78ffb682 100644 --- a/hw/stellaris.c +++ b/hw/stellaris.c @@ -1331,12 +1331,14 @@ static QEMUMachine lm3s811evb_machine = { .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) diff --git a/hw/sun4m.c b/hw/sun4m.c index 5925d292c31..6f5de44a89e 100644 --- a/hw/sun4m.c +++ b/hw/sun4m.c @@ -1428,6 +1428,7 @@ static QEMUMachine ss5_machine = { .init = ss5_init, .block_default_type = IF_SCSI, .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine ss10_machine = { @@ -1436,6 +1437,7 @@ static QEMUMachine ss10_machine = { .init = ss10_init, .block_default_type = IF_SCSI, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine ss600mp_machine = { @@ -1444,6 +1446,7 @@ static QEMUMachine ss600mp_machine = { .init = ss600mp_init, .block_default_type = IF_SCSI, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine ss20_machine = { @@ -1452,6 +1455,7 @@ static QEMUMachine ss20_machine = { .init = ss20_init, .block_default_type = IF_SCSI, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine voyager_machine = { @@ -1459,6 +1463,7 @@ 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 = { @@ -1466,6 +1471,7 @@ 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 = { @@ -1473,6 +1479,7 @@ static QEMUMachine ss4_machine = { .desc = "Sun4m platform, SPARCstation 4", .init = ss4_init, .block_default_type = IF_SCSI, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine scls_machine = { @@ -1480,6 +1487,7 @@ static QEMUMachine scls_machine = { .desc = "Sun4m platform, SPARCClassic", .init = scls_init, .block_default_type = IF_SCSI, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine sbook_machine = { @@ -1487,6 +1495,7 @@ 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[] = { @@ -1711,6 +1720,7 @@ static QEMUMachine ss1000_machine = { .init = ss1000_init, .block_default_type = IF_SCSI, .max_cpus = 8, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine ss2000_machine = { @@ -1719,6 +1729,7 @@ 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[] = { @@ -1897,6 +1908,7 @@ static QEMUMachine ss2_machine = { .desc = "Sun4c platform, SPARCstation 2", .init = ss2_init, .block_default_type = IF_SCSI, + DEFAULT_MACHINE_OPTIONS, }; static void sun4m_register_types(void) diff --git a/hw/sun4u.c b/hw/sun4u.c index 3a06d70795a..cb75d032786 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -978,6 +978,7 @@ static QEMUMachine sun4u_machine = { .init = sun4u_init, .max_cpus = 1, // XXX for now .is_default = 1, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine sun4v_machine = { @@ -985,6 +986,7 @@ static QEMUMachine sun4v_machine = { .desc = "Sun4v platform", .init = sun4v_init, .max_cpus = 1, // XXX for now + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine niagara_machine = { @@ -992,6 +994,7 @@ 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) diff --git a/hw/tosa.c b/hw/tosa.c index 7048b797d38..efea109795d 100644 --- a/hw/tosa.c +++ b/hw/tosa.c @@ -251,6 +251,7 @@ static QEMUMachine tosapda_machine = { .name = "tosa", .desc = "Tosa PDA (PXA255)", .init = tosa_init, + DEFAULT_MACHINE_OPTIONS, }; static void tosapda_machine_init(void) diff --git a/hw/versatilepb.c b/hw/versatilepb.c index bf72ebb3051..7a1b20b36c3 100644 --- a/hw/versatilepb.c +++ b/hw/versatilepb.c @@ -359,6 +359,7 @@ static QEMUMachine versatilepb_machine = { .desc = "ARM Versatile/PB (ARM926EJ-S)", .init = vpb_init, .block_default_type = IF_SCSI, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine versatileab_machine = { @@ -366,6 +367,7 @@ 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) diff --git a/hw/vexpress.c b/hw/vexpress.c index 93c31766676..6bbe8c38f9b 100644 --- a/hw/vexpress.c +++ b/hw/vexpress.c @@ -479,6 +479,7 @@ static QEMUMachine vexpress_a9_machine = { .init = vexpress_a9_init, .block_default_type = IF_SCSI, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine vexpress_a15_machine = { @@ -487,6 +488,7 @@ 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) diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c index 78450d7c40b..8c4e8e4313b 100644 --- a/hw/virtex_ml507.c +++ b/hw/virtex_ml507.c @@ -263,6 +263,7 @@ static QEMUMachine virtex_machine = { .name = "virtex-ml507", .desc = "Xilinx Virtex ML507 reference design", .init = virtex_init, + DEFAULT_MACHINE_OPTIONS, }; static void virtex_machine_init(void) diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c index 9feecd5a279..66e898123ea 100644 --- a/hw/xen_machine_pv.c +++ b/hw/xen_machine_pv.c @@ -115,6 +115,7 @@ static QEMUMachine xenpv_machine = { .init = xen_init_pv, .max_cpus = 1, .default_machine_opts = "accel=xen", + DEFAULT_MACHINE_OPTIONS, }; static void xenpv_machine_init(void) diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c index da0a7d0aa17..8dede9fe89a 100644 --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -203,7 +203,8 @@ static QEMUMachine zynq_machine = { .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) diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c index 0b9a52851a8..a85fe9b7380 100644 --- a/hw/xtensa_lx60.c +++ b/hw/xtensa_lx60.c @@ -295,6 +295,7 @@ static QEMUMachine xtensa_lx60_machine = { .desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", .init = xtensa_lx60_init, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static QEMUMachine xtensa_lx200_machine = { @@ -302,6 +303,7 @@ 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) diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c index 14fe85b2fc2..864e57c52ca 100644 --- a/hw/xtensa_sim.c +++ b/hw/xtensa_sim.c @@ -106,6 +106,7 @@ static QEMUMachine xtensa_sim_machine = { .is_default = true, .init = xtensa_sim_init, .max_cpus = 4, + DEFAULT_MACHINE_OPTIONS, }; static void xtensa_sim_machine_init(void) diff --git a/hw/z2.c b/hw/z2.c index 496e47df6c3..731550f2d86 100644 --- a/hw/z2.c +++ b/hw/z2.c @@ -373,6 +373,7 @@ static QEMUMachine z2_machine = { .name = "z2", .desc = "Zipit Z2 (PXA27x)", .init = z2_init, + DEFAULT_MACHINE_OPTIONS, }; static void z2_machine_init(void) diff --git a/vl.c b/vl.c index 59ce0636015..15e0280daad 100644 --- a/vl.c +++ b/vl.c @@ -2712,7 +2712,7 @@ int main(int argc, char **argv, char **envp) 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; @@ -4084,7 +4084,9 @@ int main(int argc, char **argv, char **envp) 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,