From: Andre Przywara <andre.przywara@amd.com>
To: <avi@redhat.com>, <mtosatti@redhat.com>
Cc: <kvm@vger.kernel.org>
Subject: [PATCH -v3 0/8] kvm/svm: implement new DecodeAssist features
Date: Tue, 21 Dec 2010 11:11:59 +0100 [thread overview]
Message-ID: <1292926327-19319-1-git-send-email-andre.przywara@amd.com> (raw)
Hi,
this is version 3 of the DecodeAssist patches.
I added 3 clean up patches which are not SVM specific.
Changes between v2 and v3:
- now includes the (unchanged) CR8 handling fix
- move complete_insn_gp() helper function into x86.c
- remove unnecessary comment
- fix handling of illegal CR accesses (inject #UD, should actually not occur)
- completely rework the instruction bytes copy patch
Now this propagates the addr/len pair from the interception handling
into the emulator. For this I cleaned up this code path a bit
(patch 3), so it does not blow up all current users of emulate_instruction.
Changes between v1 and v2:
- goes on top of the CR8 handling fix I sent out earlier this week
(required for proper handling of CR8 exceptions)
- handles exception cases properly (for mov cr and mov dr)
- uses X86_FEATURE_ names instead of SVM_FEATURE names (for boot_cpu_has)
(thanks to Joerg for spotting this)
- use static_cpu_has where appropriate
- some minor code cleanups (for instance cr register calculation)
- move prefetch callback into x86_decode_insn and out of every fetch
I refrained from ditching the callback at all, as I dont like extending
every emulate_instruction call with "NULL, 0". But if this is
desperately needed, I can still change it.
- rename vendor specific prefetch function names
Upcoming AMD CPUs will have a SVM enhancement called DecodeAssist
which will provide more information when intercepting certain events.
These information allows to skip the instruction fetching and
decoding and handle the intercept immediately.
This patch set implements all the features which are documented
in the recent AMD manual (APM vol. 2). For details see the patches.
Please review and apply.
Regards,
Andre.
next reply other threads:[~2010-12-21 10:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-21 10:11 Andre Przywara [this message]
2010-12-21 10:12 ` [PATCH 1/8] kvm: fix CR8 handling Andre Przywara
2010-12-21 10:12 ` [PATCH 2/8] kvm: move complete_insn_gp() into x86.c Andre Przywara
2010-12-21 10:12 ` [PATCH 3/8] kvm: cleanup emulate_instruction Andre Przywara
2010-12-21 10:12 ` [PATCH 4/8] kvm/svm: add new SVM feature bit names Andre Przywara
2010-12-21 10:12 ` [PATCH 5/8] kvm/svm: enhance MOV CR intercept handler Andre Przywara
2010-12-21 13:43 ` Avi Kivity
2010-12-21 10:12 ` [PATCH 6/8] kvm/svm: enhance mov DR " Andre Przywara
2010-12-21 10:12 ` [PATCH 7/8] kvm/svm: implement enhanced INVLPG intercept Andre Przywara
2010-12-21 10:12 ` [PATCH 8/8] kvm/svm: copy instruction bytes from VMCB Andre Przywara
2010-12-21 13:41 ` [PATCH -v3 0/8] kvm/svm: implement new DecodeAssist features Avi Kivity
2010-12-23 12:47 ` Marcelo Tosatti
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=1292926327-19319-1-git-send-email-andre.przywara@amd.com \
--to=andre.przywara@amd.com \
--cc=avi@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