summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2025-02-01 04:55:17 +0300
committerSean Christopherson <seanjc@google.com>2025-02-24 20:01:07 +0300
commit79a14afc60904cdb2b4288fd00c65b8159e0049a (patch)
tree0a69987874c0c1bf1c072856a96c1365f58db17a /tools/perf/scripts/python/task-analyzer.py
parentfbd1e0f195464a362c91e16b5c327db0e89612ca (diff)
downloadlinux-79a14afc60904cdb2b4288fd00c65b8159e0049a.tar.xz
KVM: nVMX: Synthesize nested VM-Exit for supported emulation intercepts
When emulating an instruction on behalf of L2 that L1 wants to intercept, generate a nested VM-Exit instead of injecting a #UD into L2. Now that (most of) the necessary information is available, synthesizing a VM-Exit isn't terribly difficult. Punt on decoding the ModR/M for descriptor table exits for now. There is no evidence that any hypervisor intercepts descriptor table accesses *and* uses the EXIT_QUALIFICATION to expedite emulation, i.e. it's not worth delaying basic support for. To avoid doing more harm than good, e.g. by putting L2 into an infinite or effectively corrupting its code stream, inject #UD if the instruction length is nonsensical. Link: https://lore.kernel.org/r/20250201015518.689704-11-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions