Re: Re: How kvm handle extern interrupt when guest os is running

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

 



I understand ,thank you.

i find this in intel system programming guide:
Acknowledge interrupt on exit. The “acknowledge interrupt on exit” VM-exit
control in the controlling VMCS controls processor behavior for external interrupt
acknowledgement. If the control is 1, the processor acknowledges the interrupt
controller to acquire the interrupt vector upon VM exit, and stores the vector in
the VM-exit interruption-information field. If the control is 0, the external
interrupt is not acknowledged during VM exit. Since RFLAGS.IF is automatically
cleared on VM exits due to external interrupts, VMM re-enabling of interrupts
(setting RFLAGS.IF = 1) initiates the external interrupt acknowledgement and
vectoring of the external interrupt through the monitor/host IDT.

and i find xen set  “acknowledge interrupt on exit” to 1. 


2010-08-31 



jemmy858585 



发件人: Avi Kivity 
发送时间: 2010-08-29  22:24:13 
收件人: jemmy858585 
抄送: kvm 
主题: Re: How kvm handle extern interrupt when guest os is running 
 
  On 08/29/2010 05:16 PM, jemmy858585 wrote:
> i didn't understand how kvm handle extern interrupt when guest os running.
> i think the extern interrupt will cause vm exit, then kvm should pass this interrupt to host os , then the host os handle it.
> but i didn't found the correlative code.
>
> I think vmx_complete_interrupts and vmx_handle_exit function will be execute, but i didn't found how pass the extern interrupt to host os.
>
> If anyone knows , please tell me,thanks.
>    
The interrupt causes a vmexit but is not consumed by the processor.  
Instead, it remains pending.  As soon as the host enables interrupts the 
interrupt will be delivered.
-- 
error compiling committee.c: too many arguments to function
��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[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