diff options
author | Santosh Shukla <santosh.shukla@amd.com> | 2023-02-27 11:40:16 +0300 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2023-03-23 03:43:45 +0300 |
commit | 0977cfac6e76fa976618129a4585bcf53784cc87 (patch) | |
tree | 698a6f13d762ac0d13be035a0bbfddecdbe5310b /tools/perf/scripts/python/stackcollapse.py | |
parent | fa4c027a7956f5e07697bfcb580d25eeb8471257 (diff) | |
download | linux-0977cfac6e76fa976618129a4585bcf53784cc87.tar.xz |
KVM: nSVM: Implement support for nested VNMI
Allow L1 to use vNMI to accelerate its injection of NMI to L2 by
propagating vNMI int_ctl bits from/to vmcb12 to/from vmcb02.
To handle both the case where vNMI is enabled for L1 and L2, and where
vNMI is enabled for L1 but _not_ L2, move pending L1 vNMIs to nmi_pending
on nested VM-Entry and raise KVM_REQ_EVENT, i.e. rely on existing code to
route the NMI to the correct domain.
On nested VM-Exit, reverse the process and set/clear V_NMI_PENDING for L1
based one whether nmi_pending is zero or non-zero. There is no need to
consider vmcb02 in this case, as V_NMI_PENDING can be set in vmcb02 if
vNMI is disabled for L2, and if vNMI is enabled for L2, then L1 and L2
have different NMI contexts.
Co-developed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Link: https://lore.kernel.org/r/20230227084016.3368-12-santosh.shukla@amd.com
[sean: massage changelog to match the code]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions