From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch 3/7] libkvm: in-kernel C2 halt interface Date: Wed, 18 Jun 2008 13:42:08 -0300 Message-ID: <20080618164854.532230142@localhost.localdomain> References: <20080618164205.108219607@localhost.localdomain> Cc: kvm@vger.kernel.org, Marcelo Tosatti To: Avi Kivity Return-path: Received: from mx1.redhat.com ([66.187.233.31]:60238 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753418AbYFRQwd (ORCPT ); Wed, 18 Jun 2008 12:52:33 -0400 Content-Disposition: inline; filename=libkvm-acpi-c2 Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Marcelo Tosatti Index: kvm-userspace.tip/libkvm/libkvm.c =================================================================== --- kvm-userspace.tip.orig/libkvm/libkvm.c +++ kvm-userspace.tip/libkvm/libkvm.c @@ -827,6 +827,18 @@ int kvm_set_mpstate(kvm_context_t kvm, i } #endif +#ifdef KVM_CAP_ACPI_C2 +int kvm_enable_acpi_c2(kvm_context_t kvm) +{ + int r; + + r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_ACPI_C2); + if (r > 0) + return ioctl(kvm->vm_fd, KVM_ENABLE_ACPI_C2); + return -ENOSYS; +} +#endif + static int handle_mmio(kvm_context_t kvm, struct kvm_run *kvm_run) { unsigned long addr = kvm_run->mmio.phys_addr; Index: kvm-userspace.tip/libkvm/libkvm.h =================================================================== --- kvm-userspace.tip.orig/libkvm/libkvm.h +++ kvm-userspace.tip/libkvm/libkvm.h @@ -325,6 +325,14 @@ static inline int kvm_reset_mpstate(kvm_ } #endif +#ifdef KVM_CAP_ACPI_C2 +/*! + * \brief Enable in-kernel ACPI C2 emulation. + * + */ +int kvm_enable_acpi_c2(kvm_context_t kvm); +#endif + /*! * \brief Simulate an external vectored interrupt * --