Commit 44abf0ab authored by Jan Kiszka's avatar Jan Kiszka

x86/ipipe: kvm: Update root stage on vmx_handle_external_intr

If an external interrupt is reported by vmx_handle_external_intr via a
call to the handler, the function fakes interrupt enabling by setting
the I flag in the pushed flags. Update the root stage state accordingly,
or we will see errors soon after.
Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
parent 3ecaa6e7
...@@ -8453,6 +8453,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu) ...@@ -8453,6 +8453,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu)
unsigned long tmp; unsigned long tmp;
#endif #endif
#ifdef CONFIG_IPIPE
__clear_bit(IPIPE_STALL_FLAG,
&ipipe_this_cpu_root_context()->status);
#endif
vector = exit_intr_info & INTR_INFO_VECTOR_MASK; vector = exit_intr_info & INTR_INFO_VECTOR_MASK;
desc = (gate_desc *)vmx->host_idt_base + vector; desc = (gate_desc *)vmx->host_idt_base + vector;
entry = gate_offset(*desc); entry = gate_offset(*desc);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment