diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2010-10-20 21:16:24 -0200 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-10-20 21:16:24 -0200 |
commit | 250968666b4984f5f6e91bd3358f21187aea8ad8 (patch) | |
tree | 66bc69967689934c198e3d5492c1cfb372c168ac /qemu-kvm-x86.c | |
parent | b4f09f67956e74367d3ba35137985bb9fc314842 (diff) | |
parent | e7701825e17d74913b0f1585d523cedaf1d6632a (diff) |
Merge commit 'e7701825e17d74913b0f1585d523cedaf1d6632a' into upstream-merge
* commit 'e7701825e17d74913b0f1585d523cedaf1d6632a':
kvm: x86: add mce support
iothread: use signalfd
signalfd compatibility
Conflicts:
target-i386/kvm.c
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'qemu-kvm-x86.c')
-rw-r--r-- | qemu-kvm-x86.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 59aacd015..129356c86 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -383,39 +383,6 @@ int kvm_set_msrs(CPUState *env, struct kvm_msr_entry *msrs, int n) return r; } -int kvm_get_mce_cap_supported(kvm_context_t kvm, uint64_t *mce_cap, - int *max_banks) -{ -#ifdef KVM_CAP_MCE - int r; - - r = kvm_ioctl(kvm_state, KVM_CHECK_EXTENSION, KVM_CAP_MCE); - if (r > 0) { - *max_banks = r; - return kvm_ioctl(kvm_state, KVM_X86_GET_MCE_CAP_SUPPORTED, mce_cap); - } -#endif - return -ENOSYS; -} - -int kvm_setup_mce(CPUState *env, uint64_t *mcg_cap) -{ -#ifdef KVM_CAP_MCE - return kvm_vcpu_ioctl(env, KVM_X86_SETUP_MCE, mcg_cap); -#else - return -ENOSYS; -#endif -} - -int kvm_set_mce(CPUState *env, struct kvm_x86_mce *m) -{ -#ifdef KVM_CAP_MCE - return kvm_vcpu_ioctl(env, KVM_X86_SET_MCE, m); -#else - return -ENOSYS; -#endif -} - static void print_seg(FILE *file, const char *name, struct kvm_segment *seg) { fprintf(stderr, @@ -1217,29 +1184,6 @@ static int _kvm_arch_init_vcpu(CPUState *env) { kvm_arch_reset_vcpu(env); -#ifdef KVM_CAP_MCE - if (((env->cpuid_version >> 8)&0xF) >= 6 - && (env->cpuid_features&(CPUID_MCE|CPUID_MCA)) == (CPUID_MCE|CPUID_MCA) - && kvm_check_extension(kvm_state, KVM_CAP_MCE) > 0) { - uint64_t mcg_cap; - int banks; - - if (kvm_get_mce_cap_supported(kvm_context, &mcg_cap, &banks)) { - perror("kvm_get_mce_cap_supported FAILED"); - } else { - if (banks > MCE_BANKS_DEF) - banks = MCE_BANKS_DEF; - mcg_cap &= MCE_CAP_DEF; - mcg_cap |= banks; - if (kvm_setup_mce(env, &mcg_cap)) { - perror("kvm_setup_mce FAILED"); - } else { - env->mcg_cap = mcg_cap; - } - } - } -#endif - #ifdef KVM_EXIT_TPR_ACCESS kvm_enable_tpr_access_reporting(env); #endif |