qemu/target/i386/kvm
Claudio Fontana 662175b91f i386: reorder call to cpu_exec_realizefn
i386 realizefn code is sensitive to ordering, and recent commits
aimed at refactoring it, splitting accelerator-specific code,
broke assumptions which need to be fixed.

We need to:

* process hyper-v enlightements first, as they assume features
  not to be expanded

* only then, expand features

* after expanding features, attempt to check them and modify them in the
  accel-specific realizefn code called by cpu_exec_realizefn().

* after the framework has been called via cpu_exec_realizefn,
  the code can check for what has or hasn't been set by accel-specific
  code, or extend its results, ie:

  - check and evenually set code_urev default
  - modify cpu->mwait after potentially being set from host CPUID.
  - finally check for phys_bits assuming all user and accel-specific
    adjustments have already been taken into account.

Fixes: f5cc5a5c ("i386: split cpu accelerators from cpu.c"...)
Fixes: 30565f10 ("cpu: call AccelCPUClass::cpu_realizefn in"...)
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210603123001.17843-2-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-04 13:47:08 +02:00
..
hyperv-proto.h i386: Make migration fail when Hyper-V reenlightenment was enabled but 'user_tsc_khz' is unset 2021-03-19 08:48:18 -04:00
hyperv-stub.c i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
hyperv.c i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
hyperv.h i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
kvm_i386.h i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
kvm-cpu.c i386: reorder call to cpu_exec_realizefn 2021-06-04 13:47:08 +02:00
kvm-cpu.h i386: split cpu accelerators from cpu.c, using AccelCPUClass 2021-05-10 15:41:49 -04:00
kvm-stub.c i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
kvm.c i386: use global kvm_state in hyperv_enabled() check 2021-05-31 15:53:03 -04:00
meson.build i386: split cpu accelerators from cpu.c, using AccelCPUClass 2021-05-10 15:41:49 -04:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00