From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 2/5] KVM: New guest debug interface Date: Sun, 07 Dec 2008 11:55:58 +0200 Message-ID: <493B9DAE.7050007@redhat.com> References: <20081127114342.10901.31992.stgit@mchn012c.ww002.siemens.net> <20081127114343.10901.26107.stgit@mchn012c.ww002.siemens.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Hollis Blanchard , Joerg Roedel To: Jan Kiszka Return-path: Received: from mx2.redhat.com ([66.187.237.31]:49146 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753261AbYLGJ4J (ORCPT ); Sun, 7 Dec 2008 04:56:09 -0500 In-Reply-To: <20081127114343.10901.26107.stgit@mchn012c.ww002.siemens.net> Sender: kvm-owner@vger.kernel.org List-ID: Jan Kiszka wrote: > This rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL > instead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic > part, controlling the "main switch" and the single-step feature. The > arch specific part adds an x86 interface for intercepting both types of > debug exceptions separately and re-injecting them when the host was not > interested. Moveover, the foundation for guest debugging via debug > registers is layed. > Have you tested compile-time compatibility with older userspace? > Note that both SVM and VTX are supported, but only the latter was tested > yet. Based on the experience with all those VTX corner case, I would be > fairly surprised if SVM will work out of the box. > > I'd like svm to work before applying. > @@ -439,7 +437,8 @@ struct kvm_trace_rec { > #define KVM_SET_SREGS _IOW(KVMIO, 0x84, struct kvm_sregs) > #define KVM_TRANSLATE _IOWR(KVMIO, 0x85, struct kvm_translation) > #define KVM_INTERRUPT _IOW(KVMIO, 0x86, struct kvm_interrupt) > -#define KVM_DEBUG_GUEST _IOW(KVMIO, 0x87, struct kvm_debug_guest) > +/* KVM_DEBUG_GUEST is no longer supported, use KVM_SET_GUEST_DEBUG instead */ > +#define KVM_DEBUG_GUEST __KVM_DEPRECATED_DEBUG_GUEST > #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) > #define KVM_SET_MSRS _IOW(KVMIO, 0x89, struct kvm_msrs) > #define KVM_SET_CPUID _IOW(KVMIO, 0x8a, struct kvm_cpuid) > @@ -468,6 +467,26 @@ struct kvm_trace_rec { > #define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state) > /* Available with KVM_CAP_NMI */ > #define KVM_NMI _IO(KVMIO, 0x9a) > +/* Available with KVM_CAP_SET_GUEST_DEBUG */ > +#define KVM_SET_GUEST_DEBUG _IOW(KVMIO, 0x9a, struct kvm_guest_debug) > + > 0x9b... -- error compiling committee.c: too many arguments to function