machine, Add default_machine_opts to QEMUMachine.
With this new field, we can specified which accelerator use to run the machine, if the accelerator is not already specified by either a configuration file or the command line options. Currently, the only use will be made in the xenfv machine. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									303d4e865b
								
							
						
					
					
						commit
						67b724e69e
					
				| @ -27,6 +27,7 @@ typedef struct QEMUMachine { | ||||
|         no_cdrom:1, | ||||
|         no_sdcard:1; | ||||
|     int is_default; | ||||
|     const char *default_machine_opts; | ||||
|     GlobalProperty *compat_props; | ||||
|     struct QEMUMachine *next; | ||||
| } QEMUMachine; | ||||
|  | ||||
							
								
								
									
										22
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								vl.c
									
									
									
									
									
								
							| @ -2914,6 +2914,28 @@ int main(int argc, char **argv, char **envp) | ||||
|         exit(1); | ||||
|     } | ||||
| 
 | ||||
|     /*
 | ||||
|      * Get the default machine options from the machine if it is not already | ||||
|      * specified either by the configuration file or by the command line. | ||||
|      */ | ||||
|     if (machine->default_machine_opts) { | ||||
|         QemuOptsList *list = qemu_find_opts("machine"); | ||||
|         const char *p = NULL; | ||||
| 
 | ||||
|         if (!QTAILQ_EMPTY(&list->head)) { | ||||
|             p = qemu_opt_get(QTAILQ_FIRST(&list->head), "accel"); | ||||
|         } | ||||
|         if (p == NULL) { | ||||
|             opts = qemu_opts_parse(qemu_find_opts("machine"), | ||||
|                                    machine->default_machine_opts, 0); | ||||
|             if (!opts) { | ||||
|                 fprintf(stderr, "parse error for machine %s: %s\n", | ||||
|                         machine->name, machine->default_machine_opts); | ||||
|                 exit(1); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     qemu_opts_foreach(qemu_find_opts("device"), default_driver_check, NULL, 0); | ||||
|     qemu_opts_foreach(qemu_find_opts("global"), default_driver_check, NULL, 0); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anthony PERARD
						Anthony PERARD