Simplify code around kvm_enable_tpr_access_reporting. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Index: qemu-kvm-tpr/qemu-kvm-x86.c =================================================================== --- qemu-kvm-tpr.orig/qemu-kvm-x86.c +++ qemu-kvm-tpr/qemu-kvm-x86.c @@ -597,30 +597,16 @@ int kvm_get_shadow_pages(kvm_context_t k } #ifdef KVM_CAP_VAPIC - -static int tpr_access_reporting(CPUState *env, int enabled) -{ - int r; - struct kvm_tpr_access_ctl tac = { - .enabled = enabled, - }; - - r = kvm_ioctl(kvm_state, KVM_CHECK_EXTENSION, KVM_CAP_VAPIC); - if (r <= 0) - return -ENOSYS; - return kvm_vcpu_ioctl(env, KVM_TPR_ACCESS_REPORTING, &tac); -} - -int kvm_enable_tpr_access_reporting(CPUState *env) +static int kvm_enable_tpr_access_reporting(CPUState *env) { - return tpr_access_reporting(env, 1); -} + int r; + struct kvm_tpr_access_ctl tac = { .enabled = 1 }; -int kvm_disable_tpr_access_reporting(CPUState *env) -{ - return tpr_access_reporting(env, 0); + r = kvm_ioctl(env->kvm_state, KVM_CHECK_EXTENSION, KVM_CAP_VAPIC); + if (r <= 0) + return -ENOSYS; + return kvm_vcpu_ioctl(env, KVM_TPR_ACCESS_REPORTING, &tac); } - #endif int kvm_qemu_create_memory_alias(uint64_t phys_start, @@ -1319,7 +1305,7 @@ int kvm_arch_init_vcpu(CPUState *cenv) #endif #ifdef KVM_EXIT_TPR_ACCESS - kvm_tpr_vcpu_start(cenv); + kvm_enable_tpr_access_reporting(cenv); #endif kvm_reset_mpstate(cenv); return 0; Index: qemu-kvm-tpr/qemu-kvm.h =================================================================== --- qemu-kvm-tpr.orig/qemu-kvm.h +++ qemu-kvm-tpr/qemu-kvm.h @@ -601,27 +601,6 @@ int kvm_get_pit2(kvm_context_t kvm, stru #ifdef KVM_CAP_VAPIC -/*! - * \brief Enable kernel tpr access reporting - * - * When tpr access reporting is enabled, the kernel will call the - * ->tpr_access() callback every time the guest vcpu accesses the tpr. - * - * \param kvm Pointer to the current kvm_context - * \param vcpu vcpu to enable tpr access reporting on - */ -int kvm_enable_tpr_access_reporting(CPUState *env); - -/*! - * \brief Disable kernel tpr access reporting - * - * Undoes the effect of kvm_enable_tpr_access_reporting(). - * - * \param kvm Pointer to the current kvm_context - * \param vcpu vcpu to disable tpr access reporting on - */ -int kvm_disable_tpr_access_reporting(CPUState *env); - int kvm_enable_vapic(CPUState *env, uint64_t vapic); #endif @@ -895,7 +874,6 @@ void qemu_kvm_aio_wait_end(void); void qemu_kvm_notify_work(void); void kvm_tpr_access_report(CPUState *env, uint64_t rip, int is_write); -void kvm_tpr_vcpu_start(CPUState *env); int qemu_kvm_get_dirty_pages(unsigned long phys_addr, void *buf); Index: qemu-kvm-tpr/kvm-tpr-opt.c =================================================================== --- qemu-kvm-tpr.orig/kvm-tpr-opt.c +++ qemu-kvm-tpr/kvm-tpr-opt.c @@ -318,11 +318,6 @@ void kvm_tpr_access_report(CPUState *env patch_instruction(env, rip); } -void kvm_tpr_vcpu_start(CPUState *env) -{ - kvm_enable_tpr_access_reporting(env); -} - static void tpr_save(QEMUFile *f, void *s) { int i; -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html