From 2278b93941d42c30e2950d4b8dff4943d064e7de Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Wed, 7 Feb 2018 11:40:26 +0100 Subject: Use cpu_create(type) instead of cpu_init(cpu_model) With all targets defining CPU_RESOLVING_TYPE, refactor cpu_parse_cpu_model(type, cpu_model) to parse_cpu_model(cpu_model) so that callers won't have to know internal resolving cpu type. Place it in exec.c so it could be called from both target independed vl.c and *-user/main.c. That allows us to stop abusing cpu type from MachineClass::default_cpu_type as resolver class in vl.c which were confusing part of cpu_parse_cpu_model(). Also with new parse_cpu_model(), the last users of cpu_init() in null-machine.c and bsd/linux-user targets could be switched to cpu_create() API and cpu_init() API will be removed by follow up patch. With no longer users left remove MachineState::cpu_model field, new code should use MachineState::cpu_type instead and leave cpu_model parsing to generic code in vl.c. Signed-off-by: Igor Mammedov Reviewed-by: Eduardo Habkost Message-Id: <1518000027-274608-5-git-send-email-imammedo@redhat.com> [ehabkost: Fix bsd-user build error] Signed-off-by: Eduardo Habkost --- vl.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'vl.c') diff --git a/vl.c b/vl.c index 19340a324a..a31bd1a98a 100644 --- a/vl.c +++ b/vl.c @@ -4584,15 +4584,11 @@ int main(int argc, char **argv, char **envp) current_machine->maxram_size = maxram_size; current_machine->ram_slots = ram_slots; current_machine->boot_order = boot_order; - current_machine->cpu_model = cpu_model; /* parse features once if machine provides default cpu_type */ - if (machine_class->default_cpu_type) { - current_machine->cpu_type = machine_class->default_cpu_type; - if (cpu_model) { - current_machine->cpu_type = - cpu_parse_cpu_model(machine_class->default_cpu_type, cpu_model); - } + current_machine->cpu_type = machine_class->default_cpu_type; + if (cpu_model) { + current_machine->cpu_type = parse_cpu_model(cpu_model); } parse_numa_opts(current_machine); -- cgit v1.2.1