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