From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch 1/2] libkvm: pit not reinject support Date: Tue, 30 Dec 2008 15:48:58 -0200 Message-ID: <20081230175034.215911602@localhost.localdomain> References: <20081230174857.883810441@localhost.localdomain> Cc: avi@redhat.com, sheng@linux.intel.com, Marcelo Tosatti To: kvm@vger.kernel.org Return-path: Received: from mx2.redhat.com ([66.187.237.31]:59968 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751813AbYL3SDD (ORCPT ); Tue, 30 Dec 2008 13:03:03 -0500 Content-Disposition: inline; filename=libkvm-pit-no-reinject Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Marcelo Tosatti Index: kvm-userspace.pit/libkvm/libkvm-x86.c =================================================================== --- kvm-userspace.pit.orig/libkvm/libkvm-x86.c +++ kvm-userspace.pit/libkvm/libkvm-x86.c @@ -75,6 +75,23 @@ int kvm_create_pit(kvm_context_t kvm) return 0; } +int kvm_pit_reinject_control(kvm_context_t kvm, int reinject) +{ +#ifdef KVM_CAP_PIT_REINJECT_CONTROL + int r; + struct kvm_pit_reinject_control control; + + control.reinject = reinject; + + r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_PIT_REINJECT_CONTROL); + if (r > 0) { + r = ioctl(kvm->vm_fd, KVM_PIT_REINJECT_CONTROL, &control); + return r; + } +#endif + return -ENOSYS; +} + int kvm_arch_create(kvm_context_t kvm, unsigned long phys_mem_bytes, void **vm_mem) { Index: kvm-userspace.pit/libkvm/libkvm.h =================================================================== --- kvm-userspace.pit.orig/libkvm/libkvm.h +++ kvm-userspace.pit/libkvm/libkvm.h @@ -646,6 +646,8 @@ int kvm_get_pit(kvm_context_t kvm, struc int kvm_set_pit(kvm_context_t kvm, struct kvm_pit_state *s); #endif +int kvm_pit_reinject_control(kvm_context_t kvm, int reinject); + #endif #ifdef KVM_CAP_VAPIC --