Add machine type aliases
Add an 'alias' field to QEMUMachine and display it in the output of 'qemu -M ?' with an '(aliased to foo)' suffix. Aliases can change targets in newer versions of qemu, so management tools may choose canonicalize machine types to ensure that if a user chooses an alias, that the actual machine type used will remain compatible in future. This is intended to mimic a symlink to a machine description file. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									c1d6eed7e8
								
							
						
					
					
						commit
						3f6599e675
					
				@ -14,6 +14,7 @@ typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
 | 
			
		||||
 | 
			
		||||
typedef struct QEMUMachine {
 | 
			
		||||
    const char *name;
 | 
			
		||||
    const char *alias;
 | 
			
		||||
    const char *desc;
 | 
			
		||||
    QEMUMachineInitFunc *init;
 | 
			
		||||
    int use_scsi;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								vl.c
									
									
									
									
									
								
							@ -3359,6 +3359,8 @@ static QEMUMachine *find_machine(const char *name)
 | 
			
		||||
    for(m = first_machine; m != NULL; m = m->next) {
 | 
			
		||||
        if (!strcmp(m->name, name))
 | 
			
		||||
            return m;
 | 
			
		||||
        if (m->alias && !strcmp(m->alias, name))
 | 
			
		||||
            return m;
 | 
			
		||||
    }
 | 
			
		||||
    return NULL;
 | 
			
		||||
}
 | 
			
		||||
@ -4995,6 +4997,9 @@ int main(int argc, char **argv, char **envp)
 | 
			
		||||
                    QEMUMachine *m;
 | 
			
		||||
                    printf("Supported machines are:\n");
 | 
			
		||||
                    for(m = first_machine; m != NULL; m = m->next) {
 | 
			
		||||
                        if (m->alias)
 | 
			
		||||
                            printf("%-10s %s (alias of %s)\n",
 | 
			
		||||
                                   m->alias, m->desc, m->name);
 | 
			
		||||
                        printf("%-10s %s%s\n",
 | 
			
		||||
                               m->name, m->desc,
 | 
			
		||||
                               m->is_default ? " (default)" : "");
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user