Rework --name to use QemuOpts
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
		
							parent
							
								
									6e1f0a55a1
								
							
						
					
					
						commit
						5d12f961c6
					
				
							
								
								
									
										52
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								vl.c
									
									
									
									
									
								
							@ -479,6 +479,27 @@ static QemuOptsList qemu_msg_opts = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static QemuOptsList qemu_name_opts = {
 | 
				
			||||||
 | 
					    .name = "name",
 | 
				
			||||||
 | 
					    .implied_opt_name = "guest",
 | 
				
			||||||
 | 
					    .merge_lists = true,
 | 
				
			||||||
 | 
					    .head = QTAILQ_HEAD_INITIALIZER(qemu_name_opts.head),
 | 
				
			||||||
 | 
					    .desc = {
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            .name = "guest",
 | 
				
			||||||
 | 
					            .type = QEMU_OPT_STRING,
 | 
				
			||||||
 | 
					            .help = "Sets the name of the guest.\n"
 | 
				
			||||||
 | 
					                    "This name will be displayed in the SDL window caption.\n"
 | 
				
			||||||
 | 
					                    "The name will also be used for the VNC server",
 | 
				
			||||||
 | 
					        }, {
 | 
				
			||||||
 | 
					            .name = "process",
 | 
				
			||||||
 | 
					            .type = QEMU_OPT_STRING,
 | 
				
			||||||
 | 
					            .help = "Sets the name of the QEMU process, as shown in top etc",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        { /* End of list */ }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get machine options
 | 
					 * Get machine options
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@ -929,6 +950,18 @@ static int parse_sandbox(QemuOpts *opts, void *opaque)
 | 
				
			|||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void parse_name(QemuOpts *opts)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    const char *proc_name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    qemu_name = qemu_opt_get(opts, "guest");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    proc_name = qemu_opt_get(opts, "process");
 | 
				
			||||||
 | 
					    if (proc_name) {
 | 
				
			||||||
 | 
					        os_set_proc_name(proc_name);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool usb_enabled(bool default_usb)
 | 
					bool usb_enabled(bool default_usb)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb", default_usb);
 | 
					    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb", default_usb);
 | 
				
			||||||
@ -2887,6 +2920,7 @@ int main(int argc, char **argv, char **envp)
 | 
				
			|||||||
    qemu_add_opts(&qemu_tpmdev_opts);
 | 
					    qemu_add_opts(&qemu_tpmdev_opts);
 | 
				
			||||||
    qemu_add_opts(&qemu_realtime_opts);
 | 
					    qemu_add_opts(&qemu_realtime_opts);
 | 
				
			||||||
    qemu_add_opts(&qemu_msg_opts);
 | 
					    qemu_add_opts(&qemu_msg_opts);
 | 
				
			||||||
 | 
					    qemu_add_opts(&qemu_name_opts);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    runstate_init();
 | 
					    runstate_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3632,19 +3666,11 @@ int main(int argc, char **argv, char **envp)
 | 
				
			|||||||
                                "is no longer supported.\n");
 | 
					                                "is no longer supported.\n");
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case QEMU_OPTION_name:
 | 
					            case QEMU_OPTION_name:
 | 
				
			||||||
                qemu_name = g_strdup(optarg);
 | 
					                opts = qemu_opts_parse(qemu_find_opts("name"), optarg, 1);
 | 
				
			||||||
		 {
 | 
					                if (!opts) {
 | 
				
			||||||
		     char *p = strchr(qemu_name, ',');
 | 
					                    exit(1);
 | 
				
			||||||
		     if (p != NULL) {
 | 
					                }
 | 
				
			||||||
		        *p++ = 0;
 | 
					                parse_name(opts);
 | 
				
			||||||
			if (strncmp(p, "process=", 8)) {
 | 
					 | 
				
			||||||
			    fprintf(stderr, "Unknown subargument %s to -name\n", p);
 | 
					 | 
				
			||||||
			    exit(1);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			p += 8;
 | 
					 | 
				
			||||||
			os_set_proc_name(p);
 | 
					 | 
				
			||||||
		     }
 | 
					 | 
				
			||||||
		 }
 | 
					 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case QEMU_OPTION_prom_env:
 | 
					            case QEMU_OPTION_prom_env:
 | 
				
			||||||
                if (nb_prom_envs >= MAX_PROM_ENVS) {
 | 
					                if (nb_prom_envs >= MAX_PROM_ENVS) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user