Recording interrupted instruction on ioapic_set_irq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

I'm trying to record the instruction pointer at the exact time a guest was delivered an IOAPIC interrupt. Take for example a PS2 keyboard press. Clearly, when I read IP during the subsequent exit for IO_INSTRUCTION I'm just recording the IP of io_read in the handler, and not the IP at actual interrupt delivery.

Maybe I'm missing something fundamental. It doesn't look like exits for EXTERNAL_INTERRUPT (shouldn't it?) or INTERRUPT_WINDOW correspond one-to-one with delivery of these PS2 interrupts.

Just setting request_interrupt_window for these IRQs didn't give me an INTERRUPT_WINDOW for each key. I guess since the guest doesn't usually have interrupts masked when I press a key means delivery won't wait for the window.

Could I record during delivery? I figure I could look at the stack during the IO_INSTRUCTION exit and figure out what instruction was actually interrupted, but this would be a Linux-specific solution. Any other ideas? I think even a simple description of how these interrupts are being delivered to the guest would help me out a lot.

Thanks,

Kurt
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux