/linux-master/arch/x86/kvm/ |
H A D | irq.c | 51 * FIXME: interrupt.injected represents an interrupt whose 54 * on interrupt.injected to know if there is a pending 58 * pending interrupt or should re-inject an injected 62 return v->arch.interrupt.injected;
|
H A D | x86.h | 110 vcpu->arch.exception.injected = false; 117 vcpu->arch.interrupt.injected = true; 124 vcpu->arch.interrupt.injected = false; 129 return vcpu->arch.exception.injected || vcpu->arch.interrupt.injected ||
|
H A D | x86.c | 632 ex->injected = false; 658 * previously injected exception is not checked because it was checked 660 * injected the exception, in which case it's exempt from interception. 669 if (!vcpu->arch.exception.pending && !vcpu->arch.exception.injected) { 680 vcpu->arch.exception.injected = true; 691 vcpu->arch.exception.injected = false; 716 * Synthesize #DF. Clear the previously injected or pending 719 vcpu->arch.exception.injected = false; 5178 * instruction boundary and with no events half-injected. 5365 * of the injected exceptio [all...] |
/linux-master/tools/testing/selftests/kvm/x86_64/ |
H A D | nested_exceptions_test.c | 18 /* Arbitrary 32-bit error code injected by this test. */ 198 TEST_ASSERT(!events.exception.injected, 199 "Vector %d unexpectedly injected", events.exception.nr); 203 events.exception.injected = inject; 211 * Verify KVM_{G,S}ET_EVENTS play nice with pending vs. injected exceptions 213 * honors L1 exception intercept controls when a #SS is pending/injected, 257 * #SS interception and re-enter L2 to request #GP (via injected #SS).
|
H A D | sync_regs_test.c | 88 * Set an exception as pending *and* injected while KVM is processing events. 90 * requesting that an exception be injected. 102 WRITE_ONCE(events->exception.injected, 1); 191 * to the unhandled #GPs being injected. VMX preserves state
|
/linux-master/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 336 __u8 injected; member in struct:kvm_vcpu_events::__anon3 343 __u8 injected; member in struct:kvm_vcpu_events::__anon4 349 __u8 injected; member in struct:kvm_vcpu_events::__anon5
|
/linux-master/tools/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 336 __u8 injected; member in struct:kvm_vcpu_events::__anon132 343 __u8 injected; member in struct:kvm_vcpu_events::__anon133 349 __u8 injected; member in struct:kvm_vcpu_events::__anon134
|
/linux-master/arch/x86/kvm/svm/ |
H A D | nested.c | 455 if (vcpu->arch.exception.injected) { 468 } else if (vcpu->arch.interrupt.injected) { 703 * stack for injected soft exceptions/interrupts. If nrips is exposed 1089 * no event can be injected in L1. 1327 * the vmexit is injected by svm_check_nested_events. 1427 * previously injected event, the pending exception occurred while said
|
/linux-master/arch/x86/include/asm/ |
H A D | kvm_host.h | 734 bool injected; member in struct:kvm_queued_exception 842 /* Exceptions to be injected to the guest. */ 848 bool injected; member in struct:kvm_vcpu_arch::kvm_queued_interrupt 1259 * which cannot be injected when the AVIC is enabled, thus AVIC
|
/linux-master/arch/x86/kvm/vmx/ |
H A D | nested.c | 490 * set bits 31:16 and VMX disallows setting bits 31:16 in the injected 3786 * while vectoring a different exception (injected events are never 3799 } else if (vcpu->arch.exception.injected) { 3820 } else if (vcpu->arch.interrupt.injected) { 3929 * injected error code for VM-Entry. Drop the bits to mimic 3956 * this will return false positives if a to-be-injected code breakpoint #DB is 3979 * KVM, but could theoretically be injected by userspace. Note, this code is 4104 * previously injected event, the pending exception occurred while said 6175 * An MTF VM-exit may be injected into the guest by setting the 6221 * will be injected wit [all...] |
H A D | vmx.c | 5036 /* An NMI must not be injected into L2 if it's supposed to VM-Exit. */ 5059 * An IRQ must not be injected into L2 if it's supposed to VM-Exit, 5158 * unconditionally injected into the guest, which is the pre split lock 5162 * only injected into the guest when: 5827 (kvm_is_exception_pending(vcpu) || vcpu->arch.exception.injected); 6903 * Newly recognized interrupts are injected via either virtual interrupt 6909 * VM-Exit to L1. If L1 doesn't want to exit, the interrupt is injected
|