Re: KVM guest interrupts, traps, and, exceptions

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

 



On 27.03.2010, at 17:42, Pekka Enberg wrote:

> Hi Alexander,
> 
> Alexander Graf wrote:
>>> I'm continuing my journey through the KVM API documentation and I'm now scratching my head on how interrupts, traps, and exceptions are supported by the API. I see KVM_CREATE_IRQCHIP and KVM_IRQ_LINE but I'm unable to work out how the host is notified of such events. For example, if the guest does
>>> 
>>> int $0x10
>> IRQs here mean hardware interrupts. They usually are pushed from host -> guest. So all you need is a way to tell the guest "you got an interrupt". Your userspace is the one giving interrupts, so there's no need to an exit.
>> The "int $0x10" instruction describes a software interrupt. These are handled 100% in guest space.
>>> is there some KVM_EXIT "exit reason" like we have for IO? Is there some other mechanism for that? As I haven't yet set up anything related to IRQs I can see the host just deadlock on user interrupts.
>> I don't think I quite understand? If there's anything running inside guest context the host shouldn't be affected at all. Host interrupts always intercept guest execution.
> 
> OK, so Avi asked me not to look at KVM code or qemu code if I don't understand something in Documentation/kvm/api.txt and instead, complain about it. That might also partly explain why I am so confused.

Oh I see :-). That's an eager goal.

> I'm not talking in host -> guest interrupts but interrupts happening in the _guest_. Now if I understand your explanation correctly, host is not involved in interrupt processing but instead I just need to set up IDTs properly in the guest? That makes sense and explains why guest interrupts are not mentioned in the KVM API documentation at all. ;-)

Heh, yep. SW interrupts run 100% in guest context. Interrupt handling (IDT interpretation etc.) also happens in guest context.


Alex--
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