Dong, Eddie wrote:
> This patch is only for idea collection so far.
> The dilemma is that how to export the pic/IOAPIC/apic state data
> structure
> to user and make sure it has same/similar structure in user level.
> Otherwise a
> convert is a must and we must maintain the converter.
>
>   

I think we have to have a converter, we can't tie the kernel to qemu or 
vice versa.

It's just a series of assignments, I don't see an issue with it.


> With this, PIC only guest can do live migration successfully. We can
> extend
> APIC side seamlessly.
>
> BTW, there is potential issue in IDT_Vectoring. The fix IMO is to retry
> vm_stop at user level
> to make sure no pending IDT_vectoring.
>   

I agree.  How do we tell userspace we need to retry, though?  A field in 
kvm_run?  A field in the lapic state?

> Pls comments. Also I will temply off this week, Qing He may continue.
>
> Thx,eddie
>
>
> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
> index 5307ba3..4eee80d 100644
> --- a/include/linux/kvm.h
> +++ b/include/linux/kvm.h
> @@ -51,6 +51,44 @@ struct kvm_irq_level {
>       __u32 level;
>  };
>  
> +/* for KVM_GET_IRQCHIP / KVM_SET_IRQCHIP */
> +struct kvm_pic_state {
> +     __u8 last_irr;  /* edge detection */
> +     __u8 irr;               /* interrupt request register */
> +     __u8 imr;               /* interrupt mask register */
> +     __u8 isr;               /* interrupt service register */
> +     __u8 priority_add;      /* highest irq priority */
> +     __u8 irq_base;
> +     __u8 read_reg_select;
> +     __u8 poll;
> +     __u8 special_mask;
> +     __u8 init_state;
> +     __u8 auto_eoi;
> +     __u8 rotate_on_auto_eoi;
> +     __u8 special_fully_nested_mode;
> +     __u8 init4;             /* true if 4 byte init */
> +     __u8 elcr;              /* PIIX edge/trigger selection */
> +     __u8 elcr_mask;
> +     struct kvm_pic *pics_state;
> +};
>   

You can't have this pointer in the userspace interface.

Also, please ensure that sizeof(struct kvm_pic_state) does not change in 
32/64 bit environments, since it gets embedded in the ioctl number.


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to