From: "Alex Bennée" <alex.bennee@linaro.org>
To: Will Deacon <will.deacon@arm.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"agraf@suse.de" <agraf@suse.de>,
"drjones@redhat.com" <drjones@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"zhichao.huang@linaro.org" <zhichao.huang@linaro.org>,
"jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
"dahi@linux.vnet.ibm.com" <dahi@linux.vnet.ibm.com>,
"r65777@freescale.com" <r65777@freescale.com>,
"bp@suse.de" <bp@suse.de>, Gleb Natapov <gleb@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Ingo Molnar <mingo@kernel.o>
Subject: Re: [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support
Date: Mon, 06 Jul 2015 10:02:46 +0100 [thread overview]
Message-ID: <87vbdxacax.fsf@linaro.org> (raw)
In-Reply-To: <20150706085140.GA30342@arm.com>
Will Deacon <will.deacon@arm.com> writes:
> On Fri, Jul 03, 2015 at 05:07:41PM +0100, Alex Bennée wrote:
>> Will Deacon <will.deacon@arm.com> writes:
>> > On Thu, Jul 02, 2015 at 02:50:33PM +0100, Alex Bennée wrote:
>> >> Are you happy with this?:
>> >
>> > [...]
>> >
>> >> +/**
>> >> + * kvm_arch_dev_ioctl_check_extension
>> >> + *
>> >> + * We currently assume that the number of HW registers is uniform
>> >> + * across all CPUs (see cpuinfo_sanity_check).
>> >> + */
>> >> int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> {
>> >> int r;
>> >> @@ -64,6 +71,12 @@ int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> case KVM_CAP_ARM_EL1_32BIT:
>> >> r = cpu_has_32bit_el1();
>> >> break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_BPS:
>> >> + r = hw_breakpoint_slots(TYPE_INST);
>> >> + break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_WPS:
>> >> + r = hw_breakpoint_slots(TYPE_DATA);
>> >> + break;
>> >
>> > Whilst I much prefer this code, it actually adds an unwanted dependency
>> > on PERF_EVENTS that I didn't think about to start with. Sorry to keep
>> > messing you about -- I guess your original patch is the best thing after
>> > all.
>>
>> Everything looks to be in hw_breakpoint.[ch] which does depend on
>> CONFIG_HAVE_HW_BREAKPOINT which depends on PERF_EVENTS to be built.
>> However the previous code depended on this behaviour as well.
>
> I think your original approach (of sticking stuff in the header file) works
> regardless of the CONFIG option, no?
Ahh yeah I reverted that to an extern due to random compile breakage:
http://storage.kernelci.org/alex/v4.1-12-gd38574dba3ec/arm64-allmodconfig/build.log
I'll see if I can fix that up.
>> It would seem weird to enable guest debug using HW debug registers to
>> debug the guest yet not allowing the host kernel to use them? Of course
>> this is the only code they would share as all the magic of guest
>> debugging is already mostly there for dirty guest handling.
>>
>> I'm not familiar with Kconfig but it looks like this is all part of
>> arm64 defconfig. Are people really going to want to disable PERF_EVENTS
>> but still debug their guests with HW support?
>
> Then it's your call. I just find the host dependency on perf a bit weird
> to get guest debug working (especially as the dependency is completely
> "fake" because we don't use any perf infrastructure at all).
>
> Will
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: alex.bennee@linaro.org (Alex Bennée)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support
Date: Mon, 06 Jul 2015 10:02:46 +0100 [thread overview]
Message-ID: <87vbdxacax.fsf@linaro.org> (raw)
In-Reply-To: <20150706085140.GA30342@arm.com>
Will Deacon <will.deacon@arm.com> writes:
> On Fri, Jul 03, 2015 at 05:07:41PM +0100, Alex Benn?e wrote:
>> Will Deacon <will.deacon@arm.com> writes:
>> > On Thu, Jul 02, 2015 at 02:50:33PM +0100, Alex Benn?e wrote:
>> >> Are you happy with this?:
>> >
>> > [...]
>> >
>> >> +/**
>> >> + * kvm_arch_dev_ioctl_check_extension
>> >> + *
>> >> + * We currently assume that the number of HW registers is uniform
>> >> + * across all CPUs (see cpuinfo_sanity_check).
>> >> + */
>> >> int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> {
>> >> int r;
>> >> @@ -64,6 +71,12 @@ int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> case KVM_CAP_ARM_EL1_32BIT:
>> >> r = cpu_has_32bit_el1();
>> >> break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_BPS:
>> >> + r = hw_breakpoint_slots(TYPE_INST);
>> >> + break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_WPS:
>> >> + r = hw_breakpoint_slots(TYPE_DATA);
>> >> + break;
>> >
>> > Whilst I much prefer this code, it actually adds an unwanted dependency
>> > on PERF_EVENTS that I didn't think about to start with. Sorry to keep
>> > messing you about -- I guess your original patch is the best thing after
>> > all.
>>
>> Everything looks to be in hw_breakpoint.[ch] which does depend on
>> CONFIG_HAVE_HW_BREAKPOINT which depends on PERF_EVENTS to be built.
>> However the previous code depended on this behaviour as well.
>
> I think your original approach (of sticking stuff in the header file) works
> regardless of the CONFIG option, no?
Ahh yeah I reverted that to an extern due to random compile breakage:
http://storage.kernelci.org/alex/v4.1-12-gd38574dba3ec/arm64-allmodconfig/build.log
I'll see if I can fix that up.
>> It would seem weird to enable guest debug using HW debug registers to
>> debug the guest yet not allowing the host kernel to use them? Of course
>> this is the only code they would share as all the magic of guest
>> debugging is already mostly there for dirty guest handling.
>>
>> I'm not familiar with Kconfig but it looks like this is all part of
>> arm64 defconfig. Are people really going to want to disable PERF_EVENTS
>> but still debug their guests with HW support?
>
> Then it's your call. I just find the host dependency on perf a bit weird
> to get guest debug working (especially as the dependency is completely
> "fake" because we don't use any perf infrastructure at all).
>
> Will
--
Alex Benn?e
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Will Deacon <will.deacon@arm.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"agraf@suse.de" <agraf@suse.de>,
"drjones@redhat.com" <drjones@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"zhichao.huang@linaro.org" <zhichao.huang@linaro.org>,
"jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
"dahi@linux.vnet.ibm.com" <dahi@linux.vnet.ibm.com>,
"r65777@freescale.com" <r65777@freescale.com>,
"bp@suse.de" <bp@suse.de>, Gleb Natapov <gleb@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Ingo Molnar <mingo@kernel.o
Subject: Re: [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support
Date: Mon, 06 Jul 2015 10:02:46 +0100 [thread overview]
Message-ID: <87vbdxacax.fsf@linaro.org> (raw)
In-Reply-To: <20150706085140.GA30342@arm.com>
Will Deacon <will.deacon@arm.com> writes:
> On Fri, Jul 03, 2015 at 05:07:41PM +0100, Alex Bennée wrote:
>> Will Deacon <will.deacon@arm.com> writes:
>> > On Thu, Jul 02, 2015 at 02:50:33PM +0100, Alex Bennée wrote:
>> >> Are you happy with this?:
>> >
>> > [...]
>> >
>> >> +/**
>> >> + * kvm_arch_dev_ioctl_check_extension
>> >> + *
>> >> + * We currently assume that the number of HW registers is uniform
>> >> + * across all CPUs (see cpuinfo_sanity_check).
>> >> + */
>> >> int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> {
>> >> int r;
>> >> @@ -64,6 +71,12 @@ int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> case KVM_CAP_ARM_EL1_32BIT:
>> >> r = cpu_has_32bit_el1();
>> >> break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_BPS:
>> >> + r = hw_breakpoint_slots(TYPE_INST);
>> >> + break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_WPS:
>> >> + r = hw_breakpoint_slots(TYPE_DATA);
>> >> + break;
>> >
>> > Whilst I much prefer this code, it actually adds an unwanted dependency
>> > on PERF_EVENTS that I didn't think about to start with. Sorry to keep
>> > messing you about -- I guess your original patch is the best thing after
>> > all.
>>
>> Everything looks to be in hw_breakpoint.[ch] which does depend on
>> CONFIG_HAVE_HW_BREAKPOINT which depends on PERF_EVENTS to be built.
>> However the previous code depended on this behaviour as well.
>
> I think your original approach (of sticking stuff in the header file) works
> regardless of the CONFIG option, no?
Ahh yeah I reverted that to an extern due to random compile breakage:
http://storage.kernelci.org/alex/v4.1-12-gd38574dba3ec/arm64-allmodconfig/build.log
I'll see if I can fix that up.
>> It would seem weird to enable guest debug using HW debug registers to
>> debug the guest yet not allowing the host kernel to use them? Of course
>> this is the only code they would share as all the magic of guest
>> debugging is already mostly there for dirty guest handling.
>>
>> I'm not familiar with Kconfig but it looks like this is all part of
>> arm64 defconfig. Are people really going to want to disable PERF_EVENTS
>> but still debug their guests with HW support?
>
> Then it's your call. I just find the host dependency on perf a bit weird
> to get guest debug working (especially as the dependency is completely
> "fake" because we don't use any perf infrastructure at all).
>
> Will
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Will Deacon <will.deacon@arm.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"agraf@suse.de" <agraf@suse.de>,
"drjones@redhat.com" <drjones@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"zhichao.huang@linaro.org" <zhichao.huang@linaro.org>,
"jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
"dahi@linux.vnet.ibm.com" <dahi@linux.vnet.ibm.com>,
"r65777@freescale.com" <r65777@freescale.com>,
"bp@suse.de" <bp@suse.de>, Gleb Natapov <gleb@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
"open list:ABI/API" <linux-api@vger.kernel.org>
Subject: Re: [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support
Date: Mon, 06 Jul 2015 10:02:46 +0100 [thread overview]
Message-ID: <87vbdxacax.fsf@linaro.org> (raw)
In-Reply-To: <20150706085140.GA30342@arm.com>
Will Deacon <will.deacon@arm.com> writes:
> On Fri, Jul 03, 2015 at 05:07:41PM +0100, Alex Bennée wrote:
>> Will Deacon <will.deacon@arm.com> writes:
>> > On Thu, Jul 02, 2015 at 02:50:33PM +0100, Alex Bennée wrote:
>> >> Are you happy with this?:
>> >
>> > [...]
>> >
>> >> +/**
>> >> + * kvm_arch_dev_ioctl_check_extension
>> >> + *
>> >> + * We currently assume that the number of HW registers is uniform
>> >> + * across all CPUs (see cpuinfo_sanity_check).
>> >> + */
>> >> int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> {
>> >> int r;
>> >> @@ -64,6 +71,12 @@ int kvm_arch_dev_ioctl_check_extension(long ext)
>> >> case KVM_CAP_ARM_EL1_32BIT:
>> >> r = cpu_has_32bit_el1();
>> >> break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_BPS:
>> >> + r = hw_breakpoint_slots(TYPE_INST);
>> >> + break;
>> >> + case KVM_CAP_GUEST_DEBUG_HW_WPS:
>> >> + r = hw_breakpoint_slots(TYPE_DATA);
>> >> + break;
>> >
>> > Whilst I much prefer this code, it actually adds an unwanted dependency
>> > on PERF_EVENTS that I didn't think about to start with. Sorry to keep
>> > messing you about -- I guess your original patch is the best thing after
>> > all.
>>
>> Everything looks to be in hw_breakpoint.[ch] which does depend on
>> CONFIG_HAVE_HW_BREAKPOINT which depends on PERF_EVENTS to be built.
>> However the previous code depended on this behaviour as well.
>
> I think your original approach (of sticking stuff in the header file) works
> regardless of the CONFIG option, no?
Ahh yeah I reverted that to an extern due to random compile breakage:
http://storage.kernelci.org/alex/v4.1-12-gd38574dba3ec/arm64-allmodconfig/build.log
I'll see if I can fix that up.
>> It would seem weird to enable guest debug using HW debug registers to
>> debug the guest yet not allowing the host kernel to use them? Of course
>> this is the only code they would share as all the magic of guest
>> debugging is already mostly there for dirty guest handling.
>>
>> I'm not familiar with Kconfig but it looks like this is all part of
>> arm64 defconfig. Are people really going to want to disable PERF_EVENTS
>> but still debug their guests with HW support?
>
> Then it's your call. I just find the host dependency on perf a bit weird
> to get guest debug working (especially as the dependency is completely
> "fake" because we don't use any perf infrastructure at all).
>
> Will
--
Alex Bennée
next prev parent reply other threads:[~2015-07-06 9:02 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-01 18:28 [PATCH v7 00/11] KVM Guest Debug support for arm64 Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 01/11] KVM: add comments for kvm_debug_exit_arch struct Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 02/11] KVM: arm64: guest debug, define API headers Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 03/11] KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 04/11] KVM: arm: introduce kvm_arm_init/setup/clear_debug Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 05/11] KVM: arm64: guest debug, add SW break point support Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 06/11] KVM: arm64: guest debug, add support for single-step Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` [PATCH v7 07/11] KVM: arm64: re-factor hyp.S debug register code Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:28 ` Alex Bennée
2015-07-01 18:29 ` [PATCH v7 08/11] KVM: arm64: introduce vcpu->arch.debug_ptr Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-02 18:34 ` Christoffer Dall
2015-07-02 18:34 ` Christoffer Dall
2015-07-03 7:14 ` Alex Bennée
2015-07-03 7:14 ` Alex Bennée
2015-07-03 7:14 ` Alex Bennée
2015-07-03 21:46 ` Christoffer Dall
2015-07-03 21:46 ` Christoffer Dall
2015-07-03 21:43 ` Christoffer Dall
2015-07-03 21:43 ` Christoffer Dall
2015-07-03 21:43 ` Christoffer Dall
2015-07-01 18:29 ` [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-01 18:29 ` Alex Bennée
[not found] ` <1435775343-20034-10-git-send-email-alex.bennee-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-07-02 8:48 ` Will Deacon
2015-07-02 8:48 ` Will Deacon
2015-07-02 8:48 ` Will Deacon
2015-07-02 8:48 ` Will Deacon
2015-07-02 13:50 ` Alex Bennée
2015-07-02 13:50 ` Alex Bennée
2015-07-02 13:50 ` Alex Bennée
2015-07-02 13:50 ` Alex Bennée
2015-07-03 9:23 ` Will Deacon
2015-07-03 9:23 ` Will Deacon
2015-07-03 9:23 ` Will Deacon
2015-07-03 9:23 ` Will Deacon
2015-07-03 16:07 ` Alex Bennée
2015-07-03 16:07 ` Alex Bennée
2015-07-03 16:07 ` Alex Bennée
2015-07-06 8:51 ` Will Deacon
2015-07-06 8:51 ` Will Deacon
2015-07-06 8:51 ` Will Deacon
2015-07-06 8:51 ` Will Deacon
2015-07-06 9:02 ` Alex Bennée [this message]
2015-07-06 9:02 ` Alex Bennée
2015-07-06 9:02 ` Alex Bennée
2015-07-06 9:02 ` Alex Bennée
2015-07-06 9:31 ` Christoffer Dall
2015-07-06 9:31 ` Christoffer Dall
2015-07-06 9:31 ` Christoffer Dall
2015-07-01 18:29 ` [PATCH v7 10/11] KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-01 18:29 ` [PATCH v7 11/11] KVM: arm64: add trace points for guest_debug debug Alex Bennée
2015-07-01 18:29 ` Alex Bennée
2015-07-01 18:29 ` 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=87vbdxacax.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=Catalin.Marinas@arm.com \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=agraf@suse.de \
--cc=bp@suse.de \
--cc=christoffer.dall@linaro.org \
--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=mingo@kernel.o \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=r65777@freescale.com \
--cc=will.deacon@arm.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.