cpu: Rename parse_cpu_model() to parse_cpu_option()
The "model[,option...]" string parsed by the function is not just a CPU model. Rename the function and its argument to indicate it expects the full "-cpu" option to be provided. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20190417025944.16154-2-ehabkost@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
12cb82fdf0
commit
c1c8cfe5f9
@ -905,7 +905,7 @@ int main(int argc, char **argv)
|
|||||||
/* init tcg before creating CPUs and to get qemu_host_page_size */
|
/* init tcg before creating CPUs and to get qemu_host_page_size */
|
||||||
tcg_exec_init(0);
|
tcg_exec_init(0);
|
||||||
|
|
||||||
cpu_type = parse_cpu_model(cpu_model);
|
cpu_type = parse_cpu_option(cpu_model);
|
||||||
cpu = cpu_create(cpu_type);
|
cpu = cpu_create(cpu_type);
|
||||||
env = cpu->env_ptr;
|
env = cpu->env_ptr;
|
||||||
#if defined(TARGET_SPARC) || defined(TARGET_PPC)
|
#if defined(TARGET_SPARC) || defined(TARGET_PPC)
|
||||||
|
4
exec.c
4
exec.c
@ -983,14 +983,14 @@ void cpu_exec_realizefn(CPUState *cpu, Error **errp)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *parse_cpu_model(const char *cpu_model)
|
const char *parse_cpu_option(const char *cpu_option)
|
||||||
{
|
{
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
CPUClass *cc;
|
CPUClass *cc;
|
||||||
gchar **model_pieces;
|
gchar **model_pieces;
|
||||||
const char *cpu_type;
|
const char *cpu_type;
|
||||||
|
|
||||||
model_pieces = g_strsplit(cpu_model, ",", 2);
|
model_pieces = g_strsplit(cpu_option, ",", 2);
|
||||||
|
|
||||||
oc = cpu_class_by_name(CPU_RESOLVING_TYPE, model_pieces[0]);
|
oc = cpu_class_by_name(CPU_RESOLVING_TYPE, model_pieces[0]);
|
||||||
if (oc == NULL) {
|
if (oc == NULL) {
|
||||||
|
@ -681,15 +681,15 @@ ObjectClass *cpu_class_by_name(const char *typename, const char *cpu_model);
|
|||||||
CPUState *cpu_create(const char *typename);
|
CPUState *cpu_create(const char *typename);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parse_cpu_model:
|
* parse_cpu_option:
|
||||||
* @cpu_model: The model string including optional parameters.
|
* @cpu_option: The -cpu option including optional parameters.
|
||||||
*
|
*
|
||||||
* processes optional parameters and registers them as global properties
|
* processes optional parameters and registers them as global properties
|
||||||
*
|
*
|
||||||
* Returns: type of CPU to create or prints error and terminates process
|
* Returns: type of CPU to create or prints error and terminates process
|
||||||
* if an error occurred.
|
* if an error occurred.
|
||||||
*/
|
*/
|
||||||
const char *parse_cpu_model(const char *cpu_model);
|
const char *parse_cpu_option(const char *cpu_option);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cpu_has_work:
|
* cpu_has_work:
|
||||||
|
@ -662,7 +662,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
if (cpu_model == NULL) {
|
if (cpu_model == NULL) {
|
||||||
cpu_model = cpu_get_model(get_elf_eflags(execfd));
|
cpu_model = cpu_get_model(get_elf_eflags(execfd));
|
||||||
}
|
}
|
||||||
cpu_type = parse_cpu_model(cpu_model);
|
cpu_type = parse_cpu_option(cpu_model);
|
||||||
|
|
||||||
/* init tcg before creating CPUs and to get qemu_host_page_size */
|
/* init tcg before creating CPUs and to get qemu_host_page_size */
|
||||||
tcg_exec_init(0);
|
tcg_exec_init(0);
|
||||||
|
18
vl.c
18
vl.c
@ -2989,7 +2989,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
const char *optarg;
|
const char *optarg;
|
||||||
const char *loadvm = NULL;
|
const char *loadvm = NULL;
|
||||||
MachineClass *machine_class;
|
MachineClass *machine_class;
|
||||||
const char *cpu_model;
|
const char *cpu_option;
|
||||||
const char *vga_model = NULL;
|
const char *vga_model = NULL;
|
||||||
const char *qtest_chrdev = NULL;
|
const char *qtest_chrdev = NULL;
|
||||||
const char *qtest_log = NULL;
|
const char *qtest_log = NULL;
|
||||||
@ -3068,7 +3068,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
QLIST_INIT (&vm_change_state_head);
|
QLIST_INIT (&vm_change_state_head);
|
||||||
os_setup_early_signal_handling();
|
os_setup_early_signal_handling();
|
||||||
|
|
||||||
cpu_model = NULL;
|
cpu_option = NULL;
|
||||||
snapshot = 0;
|
snapshot = 0;
|
||||||
|
|
||||||
nb_nics = 0;
|
nb_nics = 0;
|
||||||
@ -3120,7 +3120,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
switch(popt->index) {
|
switch(popt->index) {
|
||||||
case QEMU_OPTION_cpu:
|
case QEMU_OPTION_cpu:
|
||||||
/* hw initialization will check this */
|
/* hw initialization will check this */
|
||||||
cpu_model = optarg;
|
cpu_option = optarg;
|
||||||
break;
|
break;
|
||||||
case QEMU_OPTION_hda:
|
case QEMU_OPTION_hda:
|
||||||
case QEMU_OPTION_hdb:
|
case QEMU_OPTION_hdb:
|
||||||
@ -4037,8 +4037,8 @@ int main(int argc, char **argv, char **envp)
|
|||||||
qemu_set_hw_version(machine_class->hw_version);
|
qemu_set_hw_version(machine_class->hw_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cpu_model && is_help_option(cpu_model)) {
|
if (cpu_option && is_help_option(cpu_option)) {
|
||||||
list_cpus(cpu_model);
|
list_cpus(cpu_option);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4286,9 +4286,9 @@ int main(int argc, char **argv, char **envp)
|
|||||||
* Global properties get set up by qdev_prop_register_global(),
|
* Global properties get set up by qdev_prop_register_global(),
|
||||||
* called from user_register_global_props(), and certain option
|
* called from user_register_global_props(), and certain option
|
||||||
* desugaring. Also in CPU feature desugaring (buried in
|
* desugaring. Also in CPU feature desugaring (buried in
|
||||||
* parse_cpu_model()), which happens below this point, but may
|
* parse_cpu_option()), which happens below this point, but may
|
||||||
* only target the CPU type, which can only be created after
|
* only target the CPU type, which can only be created after
|
||||||
* parse_cpu_model() returned the type.
|
* parse_cpu_option() returned the type.
|
||||||
*
|
*
|
||||||
* Machine compat properties: object_set_machine_compat_props().
|
* Machine compat properties: object_set_machine_compat_props().
|
||||||
* Accelerator compat props: object_set_accelerator_compat_props(),
|
* Accelerator compat props: object_set_accelerator_compat_props(),
|
||||||
@ -4452,8 +4452,8 @@ int main(int argc, char **argv, char **envp)
|
|||||||
|
|
||||||
/* parse features once if machine provides default cpu_type */
|
/* parse features once if machine provides default cpu_type */
|
||||||
current_machine->cpu_type = machine_class->default_cpu_type;
|
current_machine->cpu_type = machine_class->default_cpu_type;
|
||||||
if (cpu_model) {
|
if (cpu_option) {
|
||||||
current_machine->cpu_type = parse_cpu_model(cpu_model);
|
current_machine->cpu_type = parse_cpu_option(cpu_option);
|
||||||
}
|
}
|
||||||
parse_numa_opts(current_machine);
|
parse_numa_opts(current_machine);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user