qemu-patch-raspberry4/target/i386/tcg
Claudio Fontana 5b8978d804 i386: do not call cpudef-only models functions for max, host, base
Some cpu properties have to be set only for cpu models in builtin_x86_defs,
registered with x86_register_cpu_model_type, and not for
cpu models "base", "max", and the subclass "host".

These properties are the ones set by function x86_cpu_apply_props,
(also including kvm_default_props, tcg_default_props),
and the "vendor" property for the KVM and HVF accelerators.

After recent refactoring of cpu, which also affected these properties,
they were instead set unconditionally for all x86 cpus.

This has been detected as a bug with Nested on AMD with cpu "host",
as svm was not turned on by default, due to the wrongful setting of
kvm_default_props via x86_cpu_apply_props, which set svm to "off".

Rectify the bug introduced in commit "i386: split cpu accelerators"
and document the functions that are builtin_x86_defs-only.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Fixes: f5cc5a5c ("i386: split cpu accelerators from cpu.c,"...)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/477
Message-Id: <20210723112921.12637-1-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-07-23 15:47:13 +02:00
..
sysemu target/i386: Added consistency checks for CR3 2021-07-23 15:46:20 +02:00
user target/i386: Remove user-only i/o stubs 2021-05-19 12:17:23 -05:00
bpt_helper.c target/i386: fix exceptions for MOV to DR 2021-07-09 18:21:34 +02:00
cc_helper.c i386: move TCG cpu class initialization to tcg/ 2020-12-16 15:50:33 -05:00
cc_helper_template.h
excp_helper.c target/i386: Mark some helpers as noreturn 2021-05-19 12:17:11 -05:00
fpu_helper.c target/i386: Correct implementation for FCS, FIP, FDS and FDP 2021-07-13 08:13:19 -07:00
helper-tcg.h target/i386: Move invlpg, hlt, monitor, mwait to sysemu 2021-05-19 12:17:11 -05:00
int_helper.c i386: move TCG cpu class initialization to tcg/ 2020-12-16 15:50:33 -05:00
mem_helper.c tcg: Rename helper_atomic_*_mmu and provide for user-only 2021-07-21 07:45:38 -10:00
meson.build i386: split svm_helper into sysemu and stub-only user 2021-05-10 15:41:51 -04:00
misc_helper.c target/i386: Move invlpg, hlt, monitor, mwait to sysemu 2021-05-19 12:17:11 -05:00
mpx_helper.c i386: move TCG cpu class initialization to tcg/ 2020-12-16 15:50:33 -05:00
seg_helper.c target/i386: tcg: fix switching from 16-bit to 32-bit tasks or vice versa 2021-06-04 13:47:08 +02:00
seg_helper.h i386: split seg_helper into user-only and sysemu parts 2021-05-10 15:41:52 -04:00
tcg-cpu.c i386: do not call cpudef-only models functions for max, host, base 2021-07-23 15:47:13 +02:00
tcg-cpu.h target/i386: Move X86XSaveArea into TCG 2021-07-06 08:33:51 +02:00
tcg-stub.c
translate.c accel/tcg: Remove TranslatorOps.breakpoint_check 2021-07-21 07:47:05 -10:00