 e4ada29e90
			
		
	
	
		e4ada29e90
		
	
	
	
	
		
			
			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 <aliguori@us.ibm.com> Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Declarations for use by board files for creating devices.  */
 | |
| 
 | |
| #ifndef HW_BOARDS_H
 | |
| #define HW_BOARDS_H
 | |
| 
 | |
| #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;
 | |
|     const char *kernel_filename;
 | |
|     const char *kernel_cmdline;
 | |
|     const char *initrd_filename;
 | |
|     const char *cpu_model;
 | |
| } QEMUMachineInitArgs;
 | |
| 
 | |
| typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
 | |
| 
 | |
| typedef void QEMUMachineResetFunc(void);
 | |
| 
 | |
| typedef struct QEMUMachine {
 | |
|     const char *name;
 | |
|     const char *alias;
 | |
|     const char *desc;
 | |
|     QEMUMachineInitFunc *init;
 | |
|     QEMUMachineResetFunc *reset;
 | |
|     BlockInterfaceType block_default_type;
 | |
|     int max_cpus;
 | |
|     unsigned int no_serial:1,
 | |
|         no_parallel:1,
 | |
|         use_virtcon:1,
 | |
|         no_floppy:1,
 | |
|         no_cdrom:1,
 | |
|         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;
 | |
| } QEMUMachine;
 | |
| 
 | |
| int qemu_register_machine(QEMUMachine *m);
 | |
| QEMUMachine *find_default_machine(void);
 | |
| 
 | |
| extern QEMUMachine *current_machine;
 | |
| 
 | |
| #endif
 |