From: Scott Wood <scottwood@freescale.com>
To: Alexander Graf <agraf@suse.de>
Cc: Bharat Bhushan <Bharat.Bhushan@freescale.com>,
<kvm-ppc@vger.kernel.org>, <kvm@vger.kernel.org>,
<stuart.yoder@freescale.com>
Subject: Re: [PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception
Date: Tue, 29 Jul 2014 12:50:02 -0500 [thread overview]
Message-ID: <1406656202.29414.231.camel@snotra.buserror.net> (raw)
In-Reply-To: <53D7AA49.9070209@suse.de>
On Tue, 2014-07-29 at 16:06 +0200, Alexander Graf wrote:
> On 29.07.14 00:33, Scott Wood wrote:
> > On Mon, 2014-07-28 at 16:04 +0200, Alexander Graf wrote:
> >> On 11.07.14 10:39, Bharat Bhushan wrote:
> >>> This patch emulates debug registers and debug exception
> >>> to support guest using debug resource. This enables running
> >>> gdb/kgdb etc in guest.
> >>>
> >>> On BOOKE architecture we cannot share debug resources between QEMU and
> >>> guest because:
> >>> When QEMU is using debug resources then debug exception must
> >>> be always enabled. To achieve this we set MSR_DE and also set
> >>> MSRP_DEP so guest cannot change MSR_DE.
> >>>
> >>> When emulating debug resource for guest we want guest
> >>> to control MSR_DE (enable/disable debug interrupt on need).
> >>>
> >>> So above mentioned two configuration cannot be supported
> >>> at the same time. So the result is that we cannot share
> >>> debug resources between QEMU and Guest on BOOKE architecture.
> >>>
> >>> In the current design QEMU gets priority over guest, this means that if
> >>> QEMU is using debug resources then guest cannot use them and if guest is
> >>> using debug resource then QEMU can overwrite them.
> >>>
> >>> Signed-off-by: Bharat Bhushan <Bharat.Bhushan@freescale.com>
> >>> ---
> >>> Hi Alex,
> >>>
> >>> I thought of having some print in register emulation if QEMU
> >>> is using debug resource, Also when QEMU overwrites guest written
> >>> values but that looks excessive. If I uses some variable which
> >>> get set when guest starts using debug registers and check in
> >>> debug set ioctl then that look ugly. Looking for suggestions
> >> Whatever you do, have QEMU do the print, not the kernel.
> > How would that be accomplished? How would the kernel know to exit to
> > QEMU, and how would the exit reason be conveyed?
>
> QEMU is the one forcefully enabling debug and overwriting guest debug
> registers, so it also knows when it did overwrite valid ones.
QEMU knows when it overwrites the guest values, but it doesn't know if,
after enabling host debug, the guest tries to write to the debug
registers and it gets nopped. If we keep the EDM setting, then we can
at least say the situation is no worse than with a JTAG.
-Scott
next prev parent reply other threads:[~2014-07-29 17:50 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-11 8:38 [PATCH 0/6] Guest debug emulation Bharat Bhushan
2014-07-11 8:38 ` [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register Bharat Bhushan
2014-07-28 21:52 ` Scott Wood
2014-07-30 5:21 ` Bharat.Bhushan
2014-07-30 17:47 ` Scott Wood
2014-07-30 17:57 ` Bharat.Bhushan
2014-07-30 18:15 ` Scott Wood
2014-07-11 8:38 ` [PATCH 2/6] KVM: PPC: BOOKE: Force MSR_DE in rfci if guest is under debug Bharat Bhushan
2014-07-28 13:54 ` Alexander Graf
2014-07-28 21:54 ` Scott Wood
2014-07-30 5:30 ` Bharat.Bhushan
2014-07-11 8:38 ` [PATCH 3/6] KVM: PPC: BOOKE: allow debug interrupt at "debug level" Bharat Bhushan
2014-07-11 8:38 ` [PATCH 4/6] KVM: PPC: BOOKE : Emulate rfdi instruction Bharat Bhushan
2014-07-11 8:39 ` [PATCH 5/6] KVM: PPC: BOOKE: Allow guest to change MSR_DE Bharat Bhushan
2014-07-28 22:01 ` Scott Wood
2014-07-29 14:05 ` Alexander Graf
2014-07-30 5:37 ` Bharat.Bhushan
2014-07-11 8:39 ` [PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception Bharat Bhushan
2014-07-28 14:04 ` Alexander Graf
2014-07-28 22:33 ` Scott Wood
2014-07-29 14:06 ` Alexander Graf
2014-07-29 17:50 ` Scott Wood [this message]
2014-07-29 18:23 ` Alexander Graf
2014-07-30 5:43 ` Bharat.Bhushan
2014-07-30 6:33 ` Alexander Graf
2014-07-30 6:49 ` Bharat.Bhushan
2014-07-28 22:28 ` Scott Wood
2014-07-30 6:43 ` Bharat.Bhushan
2014-07-31 2:47 ` Scott Wood
2014-07-31 6:15 ` Bharat.Bhushan
2014-07-31 20:45 ` Scott Wood
2014-08-01 9:34 ` Bharat.Bhushan
2014-08-02 3:35 ` Scott Wood
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=1406656202.29414.231.camel@snotra.buserror.net \
--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=stuart.yoder@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