From: Christoffer Dall <christoffer.dall@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, marc.zyngier@arm.com,
peter.maydell@linaro.org, agraf@suse.de, drjones@redhat.com,
pbonzini@redhat.com, zhichao.huang@linaro.org,
jan.kiszka@siemens.com, dahi@linux.vnet.ibm.com,
r65777@freescale.com, bp@suse.de, Gleb Natapov <gleb@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Russell King <linux@arm.linux.org.uk>,
"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 04/12] KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl
Date: Fri, 8 May 2015 13:52:17 +0200 [thread overview]
Message-ID: <20150508115217.GD24744@cbox> (raw)
In-Reply-To: <1430929407-3487-5-git-send-email-alex.bennee@linaro.org>
On Wed, May 06, 2015 at 05:23:19PM +0100, Alex Bennée wrote:
> This commit adds a stub function to support the KVM_SET_GUEST_DEBUG
> ioctl. Any unsupported flag will return -EINVAL. For now, only
> KVM_GUESTDBG_ENABLE is supported, although it won't have any effects.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>.
>
> ---
> v2
> - simplified form of the ioctl (stuff will go into setup_debug)
> v3
> - KVM_GUESTDBG_VALID->KVM_GUESTDBG_VALID_MASK
> - move mask check to the top of function
> - add ioctl doc header
> - split capability into separate patch
> - tweaked commit wording w.r.t return of -EINVAL
>
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index cb90025..4b0132f 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -2645,7 +2645,7 @@ handled.
> 4.87 KVM_SET_GUEST_DEBUG
>
> Capability: KVM_CAP_SET_GUEST_DEBUG
> -Architectures: x86, s390, ppc
> +Architectures: x86, s390, ppc, arm64
> Type: vcpu ioctl
> Parameters: struct kvm_guest_debug (in)
> Returns: 0 on success; -1 on error
> diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
> index d9631ec..52a1d4d38 100644
> --- a/arch/arm/kvm/arm.c
> +++ b/arch/arm/kvm/arm.c
> @@ -302,10 +302,31 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
> kvm_arm_set_running_vcpu(NULL);
> }
>
> +#define KVM_GUESTDBG_VALID_MASK (KVM_GUESTDBG_ENABLE)
> +
> +/**
> + * kvm_arch_vcpu_ioctl_set_guest_debug - set up guest debugging
> + * @kvm: pointer to the KVM struct
> + * @kvm_guest_debug: the ioctl data buffer
> + *
> + * This sets up and enables the VM for guest debugging. Userspace
> + * passes in a control flag to enable different debug types and
> + * potentially other architecture specific information in the rest of
> + * the structure.
> + */
> int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
> struct kvm_guest_debug *dbg)
> {
> - return -EINVAL;
> + if (dbg->control & ~KVM_GUESTDBG_VALID_MASK)
> + return -EINVAL;
> +
> + if (dbg->control & KVM_GUESTDBG_ENABLE) {
> + vcpu->guest_debug = dbg->control;
> + } else {
> + /* If not enabled clear all flags */
> + vcpu->guest_debug = 0;
> + }
> + return 0;
> }
>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
WARNING: multiple messages have this Message-ID (diff)
From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 04/12] KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl
Date: Fri, 8 May 2015 13:52:17 +0200 [thread overview]
Message-ID: <20150508115217.GD24744@cbox> (raw)
In-Reply-To: <1430929407-3487-5-git-send-email-alex.bennee@linaro.org>
On Wed, May 06, 2015 at 05:23:19PM +0100, Alex Benn?e wrote:
> This commit adds a stub function to support the KVM_SET_GUEST_DEBUG
> ioctl. Any unsupported flag will return -EINVAL. For now, only
> KVM_GUESTDBG_ENABLE is supported, although it won't have any effects.
>
> Signed-off-by: Alex Benn?e <alex.bennee@linaro.org>.
>
> ---
> v2
> - simplified form of the ioctl (stuff will go into setup_debug)
> v3
> - KVM_GUESTDBG_VALID->KVM_GUESTDBG_VALID_MASK
> - move mask check to the top of function
> - add ioctl doc header
> - split capability into separate patch
> - tweaked commit wording w.r.t return of -EINVAL
>
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index cb90025..4b0132f 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -2645,7 +2645,7 @@ handled.
> 4.87 KVM_SET_GUEST_DEBUG
>
> Capability: KVM_CAP_SET_GUEST_DEBUG
> -Architectures: x86, s390, ppc
> +Architectures: x86, s390, ppc, arm64
> Type: vcpu ioctl
> Parameters: struct kvm_guest_debug (in)
> Returns: 0 on success; -1 on error
> diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
> index d9631ec..52a1d4d38 100644
> --- a/arch/arm/kvm/arm.c
> +++ b/arch/arm/kvm/arm.c
> @@ -302,10 +302,31 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
> kvm_arm_set_running_vcpu(NULL);
> }
>
> +#define KVM_GUESTDBG_VALID_MASK (KVM_GUESTDBG_ENABLE)
> +
> +/**
> + * kvm_arch_vcpu_ioctl_set_guest_debug - set up guest debugging
> + * @kvm: pointer to the KVM struct
> + * @kvm_guest_debug: the ioctl data buffer
> + *
> + * This sets up and enables the VM for guest debugging. Userspace
> + * passes in a control flag to enable different debug types and
> + * potentially other architecture specific information in the rest of
> + * the structure.
> + */
> int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
> struct kvm_guest_debug *dbg)
> {
> - return -EINVAL;
> + if (dbg->control & ~KVM_GUESTDBG_VALID_MASK)
> + return -EINVAL;
> +
> + if (dbg->control & KVM_GUESTDBG_ENABLE) {
> + vcpu->guest_debug = dbg->control;
> + } else {
> + /* If not enabled clear all flags */
> + vcpu->guest_debug = 0;
> + }
> + return 0;
> }
>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
next prev parent reply other threads:[~2015-05-08 11:52 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-06 16:23 [PATCH v3 00/12] KVM Guest Debug support for arm64 Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` [PATCH v3 01/12] KVM: add comments for kvm_debug_exit_arch struct Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 9:19 ` Christoffer Dall
2015-05-08 9:19 ` Christoffer Dall
2015-05-06 16:23 ` [PATCH v3 02/12] KVM: define common __KVM_GUESTDBG_USE_SW/HW_BP values Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
[not found] ` <1430929407-3487-3-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-08 9:23 ` Christoffer Dall
2015-05-08 9:23 ` Christoffer Dall
2015-05-08 9:23 ` Christoffer Dall
2015-05-08 9:23 ` Christoffer Dall
2015-05-08 9:23 ` Christoffer Dall
2015-05-08 11:09 ` Paolo Bonzini
2015-05-08 11:09 ` Paolo Bonzini
2015-05-08 11:09 ` Paolo Bonzini
2015-05-06 16:23 ` [PATCH v3 03/12] KVM: arm64: guest debug, define API headers Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 9:28 ` Christoffer Dall
2015-05-08 9:28 ` Christoffer Dall
2015-05-06 16:23 ` [PATCH v3 04/12] KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 11:52 ` Christoffer Dall [this message]
2015-05-08 11:52 ` Christoffer Dall
2015-05-06 16:23 ` [PATCH v3 05/12] KVM: arm: introduce kvm_arm_init/setup/clear_debug Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-06 16:23 ` [PATCH v3 06/12] KVM: arm64: guest debug, add SW break point support Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-06 16:23 ` [PATCH v3 07/12] KVM: arm64: guest debug, add support for single-step Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-06 16:23 ` Alex Bennée
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-08 11:52 ` Christoffer Dall
2015-05-07 9:07 ` [PATCH v3 08/12] KVM: arm64: re-factor hyp.S debug register code Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-08 14:12 ` Christoffer Dall
2015-05-08 14:12 ` Christoffer Dall
2015-05-08 14:12 ` Christoffer Dall
2015-05-07 9:07 ` [PATCH v3 09/12] KVM: arm64: guest debug, HW assisted debug support Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-07 9:07 ` Alex Bennée
[not found] ` <1430989647-22501-2-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-08 16:32 ` Christoffer Dall
2015-05-08 16:32 ` Christoffer Dall
2015-05-08 16:32 ` Christoffer Dall
2015-05-08 16:32 ` Christoffer Dall
2015-05-07 9:07 ` [PATCH v3 10/12] KVM: arm64: trap nested debug register access Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-08 16:46 ` Christoffer Dall
2015-05-08 16:46 ` Christoffer Dall
2015-05-08 16:46 ` Christoffer Dall
2015-05-07 9:07 ` [PATCH v3 11/12] KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-08 17:21 ` Christoffer Dall
2015-05-08 17:21 ` Christoffer Dall
2015-05-07 9:07 ` [PATCH v3 12/12] KVM: arm64: add trace points for guest_debug debug Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-07 9:07 ` Alex Bennée
2015-05-08 17:25 ` Christoffer Dall
2015-05-08 17:25 ` Christoffer Dall
2015-05-08 17:25 ` Christoffer Dall
2015-05-08 16:33 ` [PATCH v3 00/12] KVM Guest Debug support for arm64 Christoffer Dall
2015-05-08 16:33 ` Christoffer Dall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150508115217.GD24744@cbox \
--to=christoffer.dall@linaro.org \
--cc=agraf@suse.de \
--cc=alex.bennee@linaro.org \
--cc=bp@suse.de \
--cc=corbet@lwn.net \
--cc=dahi@linux.vnet.ibm.com \
--cc=drjones@redhat.com \
--cc=gleb@kernel.org \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=marc.zyngier@arm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=r65777@freescale.com \
--cc=zhichao.huang@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.