# HG changeset patch # User Jerone Young <[EMAIL PROTECTED]> # Date 1194027873 18000 # Node ID 8dad7519cc92eabd7d66ea3ea20c983dade61243 # Parent 76218015a52046be4d77069c3e999b6ca60d0528 Move kvm_get & kmv_set_lapci functions to libkvm-x86.c
Signed-off-by: Jerone Young <[EMAIL PROTECTED]> diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c --- a/libkvm/libkvm-x86.c +++ b/libkvm/libkvm-x86.c @@ -377,3 +377,34 @@ int kvm_destroy_memory_alias(kvm_context return kvm_create_memory_alias(kvm, phys_addr, 0, 0, 0); } +#ifdef KVM_CAP_IRQCHIP + +int kvm_get_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s) +{ + int r; + if (!kvm->irqchip_in_kernel) + return 0; + r = ioctl(kvm->vcpu_fd[vcpu], KVM_GET_LAPIC, s); + if (r == -1) { + r = -errno; + perror("kvm_get_lapic"); + } + return r; +} + +int kvm_set_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s) +{ + int r; + if (!kvm->irqchip_in_kernel) + return 0; + r = ioctl(kvm->vcpu_fd[vcpu], KVM_SET_LAPIC, s); + if (r == -1) { + r = -errno; + perror("kvm_set_lapic"); + } + return r; +} + +#endif + + diff --git a/libkvm/libkvm-x86.h b/libkvm/libkvm-x86.h --- a/libkvm/libkvm-x86.h +++ b/libkvm/libkvm-x86.h @@ -29,5 +29,30 @@ int kvm_create_memory_alias(kvm_context_ */ int kvm_destroy_memory_alias(kvm_context_t, uint64_t phys_addr); +#ifdef KVM_CAP_IRQCHIP + +/*! + * \brief Get in kernel local APIC for vcpu + * + * Save the local apic state including the timer of a virtual CPU + * + * \param kvm Pointer to the current kvm_context + * \param vcpu Which virtual CPU should be accessed + * \param s Local apic state of the specific virtual CPU + */ +int kvm_get_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s); + +/*! + * \brief Set in kernel local APIC for vcpu + * + * Restore the local apic state including the timer of a virtual CPU + * + * \param kvm Pointer to the current kvm_context + * \param vcpu Which virtual CPU should be accessed + * \param s Local apic state of the specific virtual CPU + */ +int kvm_set_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s); #endif + +#endif diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c --- a/libkvm/libkvm.c +++ b/libkvm/libkvm.c @@ -539,32 +539,6 @@ int kvm_set_irqchip(kvm_context_t kvm, s if (r == -1) { r = -errno; perror("kvm_set_irqchip\n"); - } - return r; -} - -int kvm_get_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s) -{ - int r; - if (!kvm->irqchip_in_kernel) - return 0; - r = ioctl(kvm->vcpu_fd[vcpu], KVM_GET_LAPIC, s); - if (r == -1) { - r = -errno; - perror("kvm_get_lapic"); - } - return r; -} - -int kvm_set_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s) -{ - int r; - if (!kvm->irqchip_in_kernel) - return 0; - r = ioctl(kvm->vcpu_fd[vcpu], KVM_SET_LAPIC, s); - if (r == -1) { - r = -errno; - perror("kvm_set_lapic"); } return r; } diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h --- a/libkvm/libkvm.h +++ b/libkvm/libkvm.h @@ -484,27 +484,6 @@ int kvm_get_irqchip(kvm_context_t kvm, s */ int kvm_set_irqchip(kvm_context_t kvm, struct kvm_irqchip *chip); -/*! - * \brief Get in kernel local APIC for vcpu - * - * Save the local apic state including the timer of a virtual CPU - * - * \param kvm Pointer to the current kvm_context - * \param vcpu Which virtual CPU should be accessed - * \param s Local apic state of the specific virtual CPU - */ -int kvm_get_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s); - -/*! - * \brief Set in kernel local APIC for vcpu - * - * Restore the local apic state including the timer of a virtual CPU - * - * \param kvm Pointer to the current kvm_context - * \param vcpu Which virtual CPU should be accessed - * \param s Local apic state of the specific virtual CPU - */ -int kvm_set_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s); #endif ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel