diff options
| author | Krish Sadhukhan <[email protected]> | 2021-03-23 13:50:03 -0400 |
|---|---|---|
| committer | Paolo Bonzini <[email protected]> | 2021-04-17 08:30:52 -0400 |
| commit | 9a7de6ecc3ed80efb95fe1d97b6440922e55dbda (patch) | |
| tree | 9f1189fa6223ecbdeb130ff9fc8e427284e27e9e /tools/perf/scripts/python | |
| parent | 4a38162ee9f10f5f67c36f4f5aa4f6be2657efd5 (diff) | |
KVM: nSVM: If VMRUN is single-stepped, queue the #DB intercept in nested_svm_vmexit()
According to APM, the #DB intercept for a single-stepped VMRUN must happen
after the completion of that instruction, when the guest does #VMEXIT to
the host. However, in the current implementation of KVM, the #DB intercept
for a single-stepped VMRUN happens after the completion of the instruction
that follows the VMRUN instruction. When the #DB intercept handler is
invoked, it shows the RIP of the instruction that follows VMRUN, instead of
of VMRUN itself. This is an incorrect RIP as far as single-stepping VMRUN
is concerned.
This patch fixes the problem by checking, in nested_svm_vmexit(), for the
condition that the VMRUN instruction is being single-stepped and if so,
queues the pending #DB intercept so that the #DB is accounted for before
we execute L1's next instruction.
Suggested-by: Paolo Bonzini <[email protected]>
Signed-off-by: Krish Sadhukhan <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions