qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Inject Interrupt, Using VMCS during qemu live migration


From: Gleb Natapov
Subject: Re: [Qemu-devel] Inject Interrupt, Using VMCS during qemu live migration.
Date: Sun, 9 Sep 2012 10:45:45 +0300

On Sun, Sep 09, 2012 at 12:09:00PM +0900, 李 ヨンジュン wrote:
> Hello, I am trying to inject interrupt, in final phase of Live migration.
> 
> I use vmcs_write32 function to inject interrupt. This function is called
> by qemu, with ioctl.
> 
> This is Code.
> 
> (KVM)
> 
> void vmcs_write32_provider(unsigned long field, u32 value)
> {
> vmcs_write32(field, value);
> }
> 
> 
> long kvm_arch_vcpu_ioctl(struct file *filp,
> unsigned int ioctl, unsigned long arg)
> {
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
> case KVM_TEST_IOCTL: {
> r=0;
> //printk("Test IOCTL!!!\n");
> int type = 0;
> int trap=58;
> u32 intr_fields= (0x80000000 | (type<<8) | trap);
> vmcs_write32_provider(0x00004016,intr_fields);
> printk("vmcs_write Success!!!\n");
> 
> goto out;
> }
This is not how you inject interrupts in KVM. You are calling
kvm_set_irq() instead.

> 
> 
> This code works perfectly when called by hypercall.(When call this
> function in kvm_emulate_hypercall function by guest VM.)
> 
You mean this code sometimes accidentally has desirable effect.

> But, when I trying to call this function by qemu(ioctl), This error
> message is occurred.
> 
> http://pds23.egloos.com/pds/201209/09/86/f0062286_504c07a4bc3c7.png
> 
You are trying to inject interrupt when interrupts are disabled.

--
                        Gleb.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]