From: Scott Wood <scottwood@freescale.com>
To: Bharat Bhushan <r65777@freescale.com>
Cc: kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, agraf@suse.de,
Bharat Bhushan <Bharat.Bhushan@freescale.com>
Subject: Re: [PATCH 6/6] KVM: booke/bookehv: Add debug stub support
Date: Wed, 05 Sep 2012 23:23:04 +0000 [thread overview]
Message-ID: <5047DED8.5030202@freescale.com> (raw)
In-Reply-To: <1345557120-16197-7-git-send-email-Bharat.Bhushan@freescale.com>
On 08/21/2012 08:52 AM, Bharat Bhushan wrote:
> This patch adds the debug stub support on booke/bookehv.
> Now QEMU debug stub can use hw breakpoint, watchpoint and
> software breakpoint to debug guest.
>
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> ---
> arch/powerpc/include/asm/kvm.h | 29 ++++++-
> arch/powerpc/include/asm/kvm_host.h | 5 +
> arch/powerpc/kernel/asm-offsets.c | 26 ++++++
> arch/powerpc/kvm/booke.c | 144 +++++++++++++++++++++++++++++----
> arch/powerpc/kvm/booke_interrupts.S | 110 +++++++++++++++++++++++++
> arch/powerpc/kvm/bookehv_interrupts.S | 141 +++++++++++++++++++++++++++++++-
> arch/powerpc/kvm/e500mc.c | 3 +-
> 7 files changed, 435 insertions(+), 23 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h
> index 61b197e..53479ea 100644
> --- a/arch/powerpc/include/asm/kvm.h
> +++ b/arch/powerpc/include/asm/kvm.h
> @@ -25,6 +25,7 @@
> /* Select powerpc specific features in <linux/kvm.h> */
> #define __KVM_HAVE_SPAPR_TCE
> #define __KVM_HAVE_PPC_SMT
> +#define __KVM_HAVE_GUEST_DEBUG
>
> struct kvm_regs {
> __u64 pc;
> @@ -264,7 +265,31 @@ struct kvm_fpu {
> __u64 fpr[32];
> };
>
> +
> +/*
> + * Defines for h/w breakpoint, watchpoint (read, write or both) and
> + * software breakpoint.
> + * These are used as "type" in KVM_SET_GUEST_DEBUG ioctl and "status"
> + * for KVM_DEBUG_EXIT.
> + */
> +#define KVMPPC_DEBUG_NONE 0x0
> +#define KVMPPC_DEBUG_BREAKPOINT (1UL << 1)
> +#define KVMPPC_DEBUG_WATCH_WRITE (1UL << 2)
> +#define KVMPPC_DEBUG_WATCH_READ (1UL << 3)
> struct kvm_debug_exit_arch {
That says "arch", but it's not in an arch-specific file.
> + __u64 pc;
> + /*
> + * exception -> returns the exception number. If the KVM_DEBUG_EXIT
> + * exit is not handled (say not h/w breakpoint or software breakpoint
> + * set for this address) by qemu then it is supposed to inject this
> + * exception to guest.
> + */
> + __u32 exception;
> + /*
> + * exiting to userspace because of h/w breakpoint, watchpoint
> + * (read, write or both) and software breakpoint.
> + */
> + __u32 status;
> };
What does "exception number" mean in a generic API?
What values can go in "status"?
> + addi r7, r4, VCPU_HOST_DBG
> + mfspr r9, SPRN_DBCR0
> + lwz r8, KVMPPC_DBG_DBCR0(r7)
> + andis. r9, r9, DBCR0_AC_BITS@h
> + beq skip_load_host_debug
> + li r9, 0
> + mtspr SPRN_DBCR0, r9 /* disable all debug event */
> + lwz r9, KVMPPC_DBG_DBCR1(r7)
> + mtspr SPRN_DBCR1, r9
> + lwz r9, KVMPPC_DBG_DBCR2(r7)
> + mtspr SPRN_DBCR2, r9
> + lwz r9, KVMPPC_DBG_IAC1+4(r7)
> + mtspr SPRN_IAC1, r9
> + lwz r9, KVMPPC_DBG_IAC2+4(r7)
> + mtspr SPRN_IAC2, r9
> +#if CONFIG_PPC_ADV_DEBUG_IACS > 2
> + lwz r9, KVMPPC_DBG_IAC3+4(r7)
> + mtspr SPRN_IAC3, r9
> + lwz r9, KVMPPC_DBG_IAC4+4(r7)
> + mtspr SPRN_IAC4, r9
> +#endif
What if CONFIG_PPC_ADV_DEBUG_REGS isn't set?
-Scott
next prev parent reply other threads:[~2012-09-05 23:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-21 13:55 [PATCH 0/6] KVM: BOOKE/BOOKEHV : Added debug stub support Bharat Bhushan
2012-08-21 13:54 ` [PATCH 1/6] KVM: PPC: booke: use vcpu reference from thread_struct Bharat Bhushan
2012-09-24 16:27 ` Alexander Graf
2012-10-04 6:50 ` Bhushan Bharat-R65777
2012-08-21 13:55 ` [PATCH 5/6] booke: Added DBCR4 SPR number Bharat Bhushan
2012-09-05 23:24 ` Scott Wood
2012-08-21 13:55 ` [PATCH 4/6] KVM: PPC: debug stub interface parameter defined Bharat Bhushan
2012-09-24 15:38 ` Alexander Graf
2012-10-04 7:14 ` Bhushan Bharat-R65777
2012-12-17 16:56 ` Alexander Graf
2012-10-04 7:37 ` Bhushan Bharat-R65777
2012-08-21 13:55 ` [PATCH 6/6] KVM: booke/bookehv: Add debug stub support Bharat Bhushan
2012-09-05 23:23 ` Scott Wood [this message]
2012-09-05 23:27 ` Scott Wood
2012-09-06 14:56 ` Bhushan Bharat-R65777
2012-09-06 22:56 ` Scott Wood
2012-09-24 14:46 ` Alexander Graf
2012-09-25 10:38 ` Jan Kiszka
2012-09-25 10:47 ` Alexander Graf
2012-09-25 10:56 ` Jan Kiszka
2012-09-25 10:58 ` Alexander Graf
2012-09-25 11:06 ` Jan Kiszka
2012-09-25 11:10 ` Alexander Graf
2012-09-24 16:20 ` Alexander Graf
2012-10-04 11:06 ` Bhushan Bharat-R65777
2012-10-04 11:25 ` Alexander Graf
2012-10-04 14:22 ` Bhushan Bharat-R65777
2012-10-04 14:41 ` Alexander Graf
2012-10-04 15:19 ` Bhushan Bharat-R65777
2012-10-04 15:40 ` Alexander Graf
2012-08-21 13:55 ` [PATCH 3/6] KVM: PPC: booke: Added debug handler Bharat Bhushan
2012-08-21 13:55 ` [PATCH 2/6] KVM: PPC: booke: Allow multiple exception types Bharat Bhushan
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=5047DED8.5030202@freescale.com \
--to=scottwood@freescale.com \
--cc=Bharat.Bhushan@freescale.com \
--cc=agraf@suse.de \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=r65777@freescale.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox