Signed-off-by: Marcelo Tosatti <[EMAIL PROTECTED]> Index: kvm-userspace.realtip/libkvm/libkvm-x86.c =================================================================== --- kvm-userspace.realtip.orig/libkvm/libkvm-x86.c +++ kvm-userspace.realtip/libkvm/libkvm-x86.c @@ -418,6 +418,37 @@ int kvm_set_pit(kvm_context_t kvm, struc #endif +#ifdef KVM_CAP_ACPI_TIMER + +int kvm_get_acpi_timer(kvm_context_t kvm, struct kvm_acpi_timer_state *s) +{ + int r; + if (!kvm->acpi_timer_in_kernel) + return 0; + r = ioctl(kvm->vm_fd, KVM_GET_ACPI_TIMER, s); + if (r != 0) { + r = -errno; + perror("kvm_get_acpi_timer"); + } + return r; +} + +int kvm_set_acpi_timer(kvm_context_t kvm, struct kvm_acpi_timer_state *s) +{ + int r; + if (!kvm->acpi_timer_in_kernel) + return 0; + r = ioctl(kvm->vm_fd, KVM_SET_ACPI_TIMER, s); + if (r != 0) { + r = -errno; + perror("kvm_set_acpi_timer"); + } + + return r; +} + +#endif + void kvm_show_code(kvm_context_t kvm, int vcpu) { #define SHOW_CODE_LEN 50 Index: kvm-userspace.realtip/libkvm/libkvm.h =================================================================== --- kvm-userspace.realtip.orig/libkvm/libkvm.h +++ kvm-userspace.realtip/libkvm/libkvm.h @@ -616,6 +616,28 @@ int kvm_set_pit(kvm_context_t kvm, struc */ int kvm_acpi_timer_in_kernel(kvm_context_t kvm); +#ifdef KVM_CAP_ACPI_TIMER + +#if defined(__i386__) || defined(__x86_64__) +/*! + * \brief Get in kernel ACPI timer of the virtual domain + * + * \param kvm Pointer to the current kvm_context + * \param s ACPI timer state of the virtual domain + */ +int kvm_get_acpi_timer(kvm_context_t kvm, struct kvm_acpi_timer_state *s); + +/*! + * \brief Set in kernel ACPI timer of the virtual domain + * + * \param kvm Pointer to the current kvm_context + * \param s ACPI timer state of the virtual domain + */ +int kvm_set_acpi_timer(kvm_context_t kvm, struct kvm_acpi_timer_state *s); +#endif + +#endif + #ifdef KVM_CAP_OPEN_IOPORT /*!
-- -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html