if ((info->intr_state.irq_pending == 1) && (guest_ctrl->guest_ctrl.V_IRQ == 0)) {
// Interrupt was taken in the guest
#ifdef DEBUG_INTERRUPTS
- PrintDebug("Interrupt taken by guest\n");
+ if ((info->intr_state.irq_vector == 238) ||
+ (info->intr_state.irq_vector == 238)) {
+ PrintDebug("Interrupt taken by guest\n");
+ }
#endif
v3_injecting_intr(info, info->intr_state.irq_vector, EXTERNAL_IRQ);
}
guest_ctrl->guest_ctrl.V_IGN_TPR = 1;
guest_ctrl->guest_ctrl.V_INTR_PRIO = 0xf;
#ifdef DEBUG_INTERRUPTS
- PrintDebug("Injecting Interrupt %d (EIP=%p)\n",
- guest_ctrl->guest_ctrl.V_INTR_VECTOR,
- (void *)(addr_t)info->rip);
+ if ((guest_ctrl->guest_ctrl.V_INTR_VECTOR == 238) ||
+ (guest_ctrl->guest_ctrl.V_INTR_VECTOR == 238)) {
+ PrintDebug("Injecting Interrupt %d (EIP=%p)\n",
+ guest_ctrl->guest_ctrl.V_INTR_VECTOR,
+ (void *)(addr_t)info->rip);
+ }
#endif
info->intr_state.irq_pending = 1;
info->intr_state.irq_vector = irq;
guest_ctrl->EVENTINJ.error_code = info->intr_state.excp_error_code;
guest_ctrl->EVENTINJ.ev = 1;
#ifdef DEBUG_INTERRUPTS
- PrintDebug("Injecting error code %x\n", guest_ctrl->EVENTINJ.error_code);
+ // PrintDebug("Injecting exception %d with error code %x\n", excp, guest_ctrl->EVENTINJ.error_code);
#endif
}
guest_ctrl->EVENTINJ.valid = 1;
#ifdef DEBUG_INTERRUPTS
- PrintDebug("Injecting Interrupt %d (EIP=%p)\n",
+ PrintDebug("Injecting Exception %d (EIP=%p)\n",
guest_ctrl->EVENTINJ.vector,
(void *)(addr_t)info->rip);
#endif