public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Avi Kivity <avi@qumranet.com>
Cc: kvm-devel <kvm@vger.kernel.org>, Hollis Blanchard <hollisb@us.ibm.com>
Subject: Re: [kvm-devel] [RFC][PATCH 3/4] kvm-vmx: KVM_EXIT_DEBUG on #BP	exceptions
Date: Thu, 22 May 2008 16:24:48 +0200	[thread overview]
Message-ID: <48358230.1000407@web.de> (raw)
In-Reply-To: <48357BE8.5090104@qumranet.com>

[-- Attachment #1: Type: text/plain, Size: 1688 bytes --]

Avi Kivity wrote:
> Jan Kiszka wrote:
>> Avi Kivity wrote:
>>  
>>> Jan Kiszka wrote:
>>>    
>>>> In order to allow the gdbstub of QEMU to push (soft) breakpoint
>>>> handling
>>>> completely into the gdb frontend, this patch enables guest exits also
>>>> for #BP exceptions - in case guest debugging was turned on.
>>>>
>>>> Along this enhancement, this patch also fixes the flag manipulation for
>>>> the singlestep mode.
>>>>         
>>> Suppose userspace determines the exception is due to a guest
>>> breakpoint.  How does it inject the debug exception?
>>>     
>>
>> Good question. Is there no "inject exception #XX" mechanism in kvm yet?
>>
>>   
> 
> No userspace interface for it.  The kernel injects plenty
> (kvm_queue_exception).
> 
>> Will need this, as my current impression is that we better keep track of
>> breakpoints at qemu level to tell guest soft-BPs apart from host
>> injected ones. Would you suggest to add a separate IOCTL for exception
>> injection then? Or should the new guest debug IOCTL contain a flag that
>> signals "inject breakpoint trap" (both for guest soft-BP hits as well as
>> guests already in single step mode)?
> 
> A debug specific thing may allow us to limit the generality of the
> implementation.
> 
> Or maybe, disable int 3 trapping, single step, reenable int 3 trapping
> -> no need to inject vectors.

/me is still trying to find explicit statements in the Intel docs about
what happens to the TF flag when the CPU enters an interrupt or an
exception handler. This influences how single stepping guests can be
realized, specifically when trying to step into guest's int3 handling...

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

  reply	other threads:[~2008-05-22 14:24 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <482D9198.7040801@web.de>
2008-05-16 16:01 ` [RFC][PATCH 1/4] qemu: refactor cpu_watch/breakpoint API Jan Kiszka
2008-05-16 16:01 ` [RFC][PATCH 2/4] kvm: Arch-specifc KVM_EXIT_DEBUG payload Jan Kiszka
2008-05-21 15:59   ` [kvm-devel] " Avi Kivity
2008-05-22 13:27     ` Jan Kiszka
2008-05-21 16:04   ` Avi Kivity
2008-05-22 13:42     ` Jan Kiszka
2008-05-22 13:59       ` Avi Kivity
2008-05-22 14:32         ` Jan Kiszka
2008-05-22 14:35           ` Avi Kivity
2008-05-16 16:02 ` [RFC][PATCH 3/4] kvm-vmx: KVM_EXIT_DEBUG on #BP exceptions Jan Kiszka
2008-05-21 16:01   ` [kvm-devel] " Avi Kivity
2008-05-22 13:31     ` Jan Kiszka
2008-05-22 13:58       ` Avi Kivity
2008-05-22 14:24         ` Jan Kiszka [this message]
2008-05-22 14:31           ` Avi Kivity
2008-05-22 14:26       ` Hollis Blanchard
2008-05-22 14:34         ` Avi Kivity
2008-05-22 18:27           ` Hollis Blanchard
2008-05-25 10:24             ` Avi Kivity
2008-05-16 16:02 ` [RFC][PATCH 4/4] kvm-userspace: use soft-BPs for guest debugging Jan Kiszka

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=48358230.1000407@web.de \
    --to=jan.kiszka@web.de \
    --cc=avi@qumranet.com \
    --cc=hollisb@us.ibm.com \
    --cc=kvm@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox