From: Jan Kiszka <jan.kiszka@siemens.com>
To: Avi Kivity <avi@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Cc: kvm <kvm@vger.kernel.org>, Gleb Natapov <gleb@redhat.com>
Subject: [PATCH 0/2] KVM: SVM improvements around INT3 and NMI
Date: Mon, 15 Feb 2010 19:17:16 +0100 [thread overview]
Message-ID: <cover.1266257833.git.jan.kiszka@siemens.com> (raw)
Two patches that aim at improving some hairy SVM parts: The emulation of
INT3 reinjection on older processors without nRIP support (required for
proper guest debugging) and the infamous NMI handling.
Unfortunately, I do not have test cases for all scenarios involved.
Specifically the exception-during-IRET-from-NMI requires a hand-crafted
test that does not exist yet. However, patch 1 was successfully tested
on a nRIP-capable host by disabling that bit, and patch 2 survived
basic tests, including single-step out of NMI via guest debugging.
If the core idea of patch 2 - interception of all exceptions that the
problematic instruction causes - works, it may also be applied on INT3.
However, I'm reluctant to invest too much effort in this given that the
remaining open issues are very improbable to show up in practice.
Please check sceptically, I surely messed up some corner case.
Jan Kiszka (2):
KVM: SVM: Emulate nRIP feature when reinjecting INT3
KVM: SVM: Make stepping out of NMI handlers more robust
arch/x86/include/asm/kvm_host.h | 3 +
arch/x86/kvm/svm.c | 166 ++++++++++++++++++++++++++++----------
2 files changed, 125 insertions(+), 44 deletions(-)
next reply other threads:[~2010-02-15 18:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-15 18:17 Jan Kiszka [this message]
2010-02-15 18:17 ` [PATCH 1/2] KVM: SVM: Emulate nRIP feature when reinjecting INT3 Jan Kiszka
2010-02-16 7:52 ` Gleb Natapov
2010-02-16 8:02 ` Jan Kiszka
2010-02-16 9:50 ` [PATCH v2 " Jan Kiszka
2010-02-15 18:17 ` [PATCH 2/2] KVM: SVM: Make stepping out of NMI handlers more robust Jan Kiszka
2010-02-16 8:04 ` Gleb Natapov
2010-02-16 9:14 ` Jan Kiszka
2010-02-16 9:34 ` Gleb Natapov
2010-02-16 9:45 ` Jan Kiszka
2010-02-16 9:49 ` Gleb Natapov
2010-02-16 10:05 ` Jan Kiszka
2010-02-16 10:08 ` Gleb Natapov
2010-02-17 13:49 ` Gleb Natapov
2010-02-17 19:16 ` Jan Kiszka
2010-02-18 7:52 ` Gleb Natapov
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=cover.1266257833.git.jan.kiszka@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.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