qemu-patch-raspberry4/target-i386
Eduardo Habkost 8b4beddc6b target-i386: check/enforce: Fix CPUID leaf numbers on error messages
The -cpu check/enforce warnings are printing incorrect information about the
missing flags. There are no feature flags on CPUID leaves 0 and 0x80000000, but
there were references to 0 and 0x80000000 in the table at
kvm_check_features_against_host().

This changes the model_features_t struct to contain the register number as
well, so the error messages print the correct CPUID leaf+register information,
instead of wrong CPUID leaf numbers.

This also changes the format of the error messages, so they follow the
"CPUID.<leaf>.<register>.<name> [bit <offset>]" convention used in Intel
documentation. Example output:

    $ qemu-system-x86_64 -machine pc-1.0,accel=kvm -cpu Opteron_G4,+ia64,enforce
    warning: host doesn't support requested feature: CPUID.01H:EDX.ia64 [bit 30]
    warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
    warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.misalignsse [bit 7]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.xop [bit 11]
    warning: host doesn't support requested feature: CPUID.80000001H:ECX.fma4 [bit 16]
    Unable to find x86 CPU definition
    $

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-01-08 21:03:44 +01:00
..
arch_dump.c exec: change RAM list to a TAILQ 2012-12-20 23:08:47 +01:00
arch_memory_mapping.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
cc_helper.c x86: Implement SMEP and SMAP 2012-10-01 08:04:22 -05:00
cc_helper_template.h x86: avoid AREG0 for condition code helpers 2012-08-14 19:01:25 +00:00
cpu-qom.h qom: move include files to include/qom/ 2012-12-19 08:31:32 +01:00
cpu.c target-i386: check/enforce: Fix CPUID leaf numbers on error messages 2013-01-08 21:03:44 +01:00
cpu.h target-i386: check/enforce: Fix CPUID leaf numbers on error messages 2013-01-08 21:03:44 +01:00
excp_helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
fpu_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
helper.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
hyperv.c hyper-v: introduce Hyper-V support infrastructure. 2012-01-19 08:32:12 -02:00
hyperv.h hyperv: fix build on non-KVM hosts 2012-01-23 20:04:51 +00:00
int_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
ioport-user.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm-stub.c kvm: Move kvm_allows_irq0_override() to target-i386, fix return type 2012-08-09 16:16:55 +03:00
kvm.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
kvm_i386.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
machine.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
Makefile.objs x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
mem_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
misc_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
ops_sse.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
ops_sse_header.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
seg_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
shift_helper_template.h x86: avoid AREG0 for integer helpers 2012-08-14 19:01:25 +00:00
smm_helper.c cpu_dump_state: move DUMP_FPU and DUMP_CCOP flags from x86-only to generic 2012-10-05 15:04:43 +01:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
svm_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01:00
translate.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00