xemu/target-i386
Eduardo Habkost 84bd945cf2 i386: kvm: set CPUID_EXT_HYPERVISOR on kvm_arch_get_supported_cpuid()
Full grep for kvm_arch_get_supported_cpuid:

   kvm.h:uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function,
   target-i386/cpu.c:        x86_cpu_def->cpuid_7_0_ebx_features = kvm_arch_get_supported_cpuid(kvm_state, 0x7, 0, R_EBX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EDX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xd, count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xd, count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xd, count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xd, count, R_EDX);
   target-i386/kvm.c:uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
   target-i386/kvm.c:        cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX);
   target-i386/kvm.c:    env->cpuid_features &= kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX);
 * target-i386/kvm.c:    env->cpuid_ext_features &= kvm_arch_get_supported_cpuid(s, 1, 0, R_ECX);
   target-i386/kvm.c:    env->cpuid_ext2_features &= kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_ext3_features &= kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_svm_features  &= kvm_arch_get_supported_cpuid(s, 0x8000000A,
   target-i386/kvm.c:        kvm_arch_get_supported_cpuid(s, KVM_CPUID_FEATURES, 0, R_EAX);
   target-i386/kvm.c:            kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX);

Note that there is only one call for CPUID[1].ECX above (*), and it is
the one that gets hacked to include CPUID_EXT_HYPERVISOR, so we can
simply make kvm_arch_get_supported_cpuid() set it, to let the rest of
the code automatically know that the flag can be safely set by QEMU.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2012-10-30 23:39:47 -02:00
..
arch_dump.c Fix some more license versions (GPL2+ instead of GPL2) 2012-06-11 22:20:21 +02:00
arch_memory_mapping.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cc_helper_template.h x86: avoid AREG0 for condition code helpers 2012-08-14 19:01:25 +00:00
cc_helper.c x86: Implement SMEP and SMAP 2012-10-01 08:04:22 -05:00
cpu-qom.h target-i386: Defer MCE init 2012-05-12 14:17:52 +02:00
cpu.c qemu: enable PV EOI for qemu 1.3 2012-10-29 17:59:06 +02:00
cpu.h qemu: enable PV EOI for qemu 1.3 2012-10-29 17:59:06 +02:00
excp_helper.c x86: avoid an extern declaration 2012-06-28 20:28:08 +00:00
fpu_helper.c x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
helper.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
helper.h target-i386: rename helper flags 2012-10-28 14:54:23 +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 x86: avoid AREG0 for integer helpers 2012-08-14 19:01:25 +00:00
ioport-user.c build: move obj-TARGET-y variables to nested Makefile.objs 2012-06-07 07:17:36 +02:00
kvm_i386.h kvm: i386: Add services required for PCI device assignment 2012-09-10 15:29:59 +03: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 i386: kvm: set CPUID_EXT_HYPERVISOR on kvm_arch_get_supported_cpuid() 2012-10-30 23:39:47 -02:00
machine.c kvm: get/set PV EOI MSR 2012-08-29 10:51:28 -05:00
Makefile.objs x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
mem_helper.c x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
misc_helper.c x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
ops_sse_header.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
ops_sse.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
seg_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
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_helper.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01:00
translate.c Fix popcnt in long mode 2012-10-14 14:55:09 +04:00