All of lore.kernel.org
 help / color / mirror / Atom feed
From: drjones@redhat.com (Andrew Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] KVM: arm: guest debug, define API headers
Date: Wed, 26 Nov 2014 18:47:33 +0100	[thread overview]
Message-ID: <20141126174732.GH3245@hawk.usersys.redhat.com> (raw)
In-Reply-To: <547603CD.6060708@redhat.com>

On Wed, Nov 26, 2014 at 05:46:05PM +0100, Paolo Bonzini wrote:
> 
> 
> On 26/11/2014 15:58, Alex Benn?e wrote:
> > 
> > Andrew Jones <drjones@redhat.com> writes:
> > 
> >> On Tue, Nov 25, 2014 at 04:10:00PM +0000, Alex Benn?e wrote:
> >>> This commit defines the API headers for guest debugging. There are two
> >>> architecture specific debug structures:
> > <snip>
> >>> +/* Architecture related debug defines - upper 16 bits of
> >>> + * kvm_guest_debug->control
> >>> + */
> >>> +#define KVM_GUESTDBG_USE_SW_BP_SHIFT	16
> >>> +#define KVM_GUESTDBG_USE_SW_BP		(1 << KVM_GUESTDBG_USE_SW_BP_SHIFT)
> >>> +#define KVM_GUESTDBG_USE_HW_BP_SHIFT	17
> >>> +#define KVM_GUESTDBG_USE_HW_BP		(1 << KVM_GUESTDBG_USE_HW_BP_SHIFT)
> >>> +
> >>
> >> I see this are defined in arch/x86/include/uapi/asm/kvm.h,
> >> so you needed to reproduce them here, but shouldn't they
> >> be promoted to include/uapi/linux/kvm.h instead?
> > 
> > Well if we move them to common uapi we either restrict the $ARCH
> > specific options that don't have SW/HW BKPTS (would be weird but...) or
> > make them generic in the lower 16 bits (breaks API).
> > 
> > But in principle I have no objection if other don't.
> 
> I think it's a matter of personal taste.  "Architecture-specific" means
> "not all architectures may support it", but it's certainly a good idea
> to reuse the same value if multiple architectures do support a #define.
> 
> What you did is fine, another possibility is to do
> 
>     #define __KVM_GUESTDBG_USE_SW_BP   (1 << 16)
> 
> in include/uapi/linux/kvm.h, and
> 
>     #define KVM_GUESTDBG_USE_SW_BP __KVM_GUESTDBG_USE_SW_BP
> 
> in the arch-specific file.  Andrew, is this closer to what you intended?
>

I just reread Documentation/virtual/kvm/api.txt a bit more closely and
see that these fall in the "architecture specific control" region of the
field. So forget what I said. But your suggestion of __KVM_GUESTDBG_USE_SW_BP
looks like a good idea to me.

drew

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Jones <drjones@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org,
	marc.zyngier@arm.com, peter.maydell@linaro.org, agraf@suse.de,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	jan.kiszka@siemens.com, "Will Deacon" <will.deacon@arm.com>,
	"open list" <linux-kernel@vger.kernel.org>,
	dahi@linux.vnet.ibm.com, r65777@freescale.com, bp@suse.de
Subject: Re: [PATCH 2/7] KVM: arm: guest debug, define API headers
Date: Wed, 26 Nov 2014 18:47:33 +0100	[thread overview]
Message-ID: <20141126174732.GH3245@hawk.usersys.redhat.com> (raw)
In-Reply-To: <547603CD.6060708@redhat.com>

On Wed, Nov 26, 2014 at 05:46:05PM +0100, Paolo Bonzini wrote:
> 
> 
> On 26/11/2014 15:58, Alex Bennée wrote:
> > 
> > Andrew Jones <drjones@redhat.com> writes:
> > 
> >> On Tue, Nov 25, 2014 at 04:10:00PM +0000, Alex Bennée wrote:
> >>> This commit defines the API headers for guest debugging. There are two
> >>> architecture specific debug structures:
> > <snip>
> >>> +/* Architecture related debug defines - upper 16 bits of
> >>> + * kvm_guest_debug->control
> >>> + */
> >>> +#define KVM_GUESTDBG_USE_SW_BP_SHIFT	16
> >>> +#define KVM_GUESTDBG_USE_SW_BP		(1 << KVM_GUESTDBG_USE_SW_BP_SHIFT)
> >>> +#define KVM_GUESTDBG_USE_HW_BP_SHIFT	17
> >>> +#define KVM_GUESTDBG_USE_HW_BP		(1 << KVM_GUESTDBG_USE_HW_BP_SHIFT)
> >>> +
> >>
> >> I see this are defined in arch/x86/include/uapi/asm/kvm.h,
> >> so you needed to reproduce them here, but shouldn't they
> >> be promoted to include/uapi/linux/kvm.h instead?
> > 
> > Well if we move them to common uapi we either restrict the $ARCH
> > specific options that don't have SW/HW BKPTS (would be weird but...) or
> > make them generic in the lower 16 bits (breaks API).
> > 
> > But in principle I have no objection if other don't.
> 
> I think it's a matter of personal taste.  "Architecture-specific" means
> "not all architectures may support it", but it's certainly a good idea
> to reuse the same value if multiple architectures do support a #define.
> 
> What you did is fine, another possibility is to do
> 
>     #define __KVM_GUESTDBG_USE_SW_BP   (1 << 16)
> 
> in include/uapi/linux/kvm.h, and
> 
>     #define KVM_GUESTDBG_USE_SW_BP __KVM_GUESTDBG_USE_SW_BP
> 
> in the arch-specific file.  Andrew, is this closer to what you intended?
>

I just reread Documentation/virtual/kvm/api.txt a bit more closely and
see that these fall in the "architecture specific control" region of the
field. So forget what I said. But your suggestion of __KVM_GUESTDBG_USE_SW_BP
looks like a good idea to me.

drew

  reply	other threads:[~2014-11-26 17:47 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-25 16:09 [PATCH 0/7] KVM Guest Debug support for arm64 Alex Bennée
2014-11-25 16:09 ` Alex Bennée
2014-11-25 16:09 ` [PATCH 1/7] KVM: add commentary for kvm_debug_exit_arch struct Alex Bennée
2014-11-25 16:09   ` Alex Bennée
2014-11-25 16:09   ` Alex Bennée
     [not found]   ` <1416931805-23223-2-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-11-26 14:20     ` Andrew Jones
2014-11-26 14:20       ` Andrew Jones
2014-11-26 14:20       ` Andrew Jones
2014-11-25 16:10 ` [PATCH 2/7] KVM: arm: guest debug, define API headers Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-25 16:19   ` Peter Maydell
2014-11-25 16:19     ` Peter Maydell
2014-11-26 15:04     ` Alex Bennée
2014-11-26 15:04       ` Alex Bennée
2014-11-29 16:20       ` Christoffer Dall
2014-11-29 16:20         ` Christoffer Dall
2014-12-01 11:30         ` Alex Bennée
2014-12-01 11:30           ` Alex Bennée
2014-11-25 17:05   ` Paolo Bonzini
2014-11-25 17:05     ` Paolo Bonzini
2014-11-25 17:13     ` Peter Maydell
2014-11-25 17:13       ` Peter Maydell
2014-11-25 17:22       ` Paolo Bonzini
2014-11-25 17:22         ` Paolo Bonzini
2014-11-26 13:13         ` Alex Bennée
2014-11-26 13:13           ` Alex Bennée
2014-11-26 13:14           ` Paolo Bonzini
2014-11-26 13:14             ` Paolo Bonzini
2014-11-26 14:31   ` Andrew Jones
2014-11-26 14:31     ` Andrew Jones
2014-11-26 14:58     ` Alex Bennée
2014-11-26 14:58       ` Alex Bennée
2014-11-26 16:46       ` Paolo Bonzini
2014-11-26 16:46         ` Paolo Bonzini
2014-11-26 17:47         ` Andrew Jones [this message]
2014-11-26 17:47           ` Andrew Jones
2014-11-29 16:20   ` Christoffer Dall
2014-11-29 16:20     ` Christoffer Dall
2014-11-25 16:10 ` [PATCH 3/7] KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-26 14:38   ` Andrew Jones
2014-11-26 14:38     ` Andrew Jones
2014-11-26 15:03     ` Alex Bennée
2014-11-26 15:03       ` Alex Bennée
2014-11-26 16:46       ` Paolo Bonzini
2014-11-26 16:46         ` Paolo Bonzini
2014-11-29 16:21   ` Christoffer Dall
2014-11-29 16:21     ` Christoffer Dall
2014-11-25 16:10 ` [PATCH 4/7] KVM: arm64: guest debug, add SW break point support Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-26 16:07   ` Andrew Jones
2014-11-26 16:07     ` Andrew Jones
2014-11-26 17:14     ` Peter Maydell
2014-11-26 17:14       ` Peter Maydell
2014-11-29 16:21     ` Christoffer Dall
2014-11-29 16:21       ` Christoffer Dall
2014-11-29 16:21   ` Christoffer Dall
2014-11-29 16:21     ` Christoffer Dall
2014-12-01 11:33     ` Alex Bennée
2014-12-01 11:33       ` Alex Bennée
2014-11-25 16:10 ` [PATCH 5/7] KVM: arm64: guest debug, add support for single-step Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-25 16:10   ` Alex Bennée
     [not found]   ` <1416931805-23223-6-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-11-26 16:40     ` Andrew Jones
2014-11-26 16:40       ` Andrew Jones
2014-11-26 16:40       ` Andrew Jones
     [not found]       ` <20141126164057.GE3245-EoAxxbxdFnFvD/m4c++uL6fLeoKvNuZc@public.gmane.org>
2014-11-26 18:00         ` Alex Bennée
2014-11-26 18:00           ` Alex Bennée
2014-11-26 18:00           ` Alex Bennée
2014-11-26 18:00           ` Alex Bennée
2014-11-26 19:27     ` Peter Maydell
2014-11-26 19:27       ` Peter Maydell
2014-11-26 19:27       ` Peter Maydell
     [not found]       ` <CAFEAcA-cjM9yUXi6tc79UP0fBKAagtFKQgV3iAjz5DWr9yxZUQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-30 10:10         ` Christoffer Dall
2014-11-30 10:10           ` Christoffer Dall
2014-11-30 10:10           ` Christoffer Dall
2014-11-30 10:20           ` Peter Maydell
2014-11-30 10:20             ` Peter Maydell
2014-11-30 10:20             ` Peter Maydell
2014-11-30 10:21   ` Christoffer Dall
2014-11-30 10:21     ` Christoffer Dall
2014-12-01 11:50     ` Alex Bennée
2014-12-01 11:50       ` Alex Bennée
2014-12-01 11:50       ` Alex Bennée
2014-12-01 11:50       ` Alex Bennée
     [not found]       ` <87r3wj1te1.fsf-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-12-02 13:17         ` Christoffer Dall
2014-12-02 13:17           ` Christoffer Dall
2014-12-02 13:17           ` Christoffer Dall
2014-11-25 16:10 ` [PATCH 6/7] KVM: arm64: re-factor hyp.S debug register code Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-26 16:49   ` Andrew Jones
2014-11-26 16:49     ` Andrew Jones
2014-11-30 10:25   ` Christoffer Dall
2014-11-30 10:25     ` Christoffer Dall
2014-12-01 11:52     ` Alex Bennée
2014-12-01 11:52       ` Alex Bennée
2014-12-02 13:23       ` Christoffer Dall
2014-12-02 13:23         ` Christoffer Dall
2014-11-25 16:10 ` [PATCH 7/7] KVM: arm64: guest debug, HW assisted debug support Alex Bennée
2014-11-25 16:10   ` Alex Bennée
2014-11-25 16:10   ` Alex Bennée
     [not found]   ` <1416931805-23223-8-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-11-26 17:34     ` Andrew Jones
2014-11-26 17:34       ` Andrew Jones
2014-11-26 17:34       ` Andrew Jones
2014-11-30 10:34   ` Christoffer Dall
2014-11-30 10:34     ` Christoffer Dall
2014-12-01 11:54     ` Alex Bennée
2014-12-01 11:54       ` Alex Bennée
2014-12-01 11:54       ` Alex Bennée

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=20141126174732.GH3245@hawk.usersys.redhat.com \
    --to=drjones@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.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.