[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Xen-4.5 HVMOP ABI issues
Hi, I have finally worked out why XenServer is having issues with its legacy windows drivers and Xen-4.5. XenServer needs to support hvm ops with an indicies of 0x102 and 0x103 to prevent our legacy windows drivers from BSODing on boot. (These problems will disappear when we can drop Windows XP/Server 2k3 support, but that time is not now.) The root cause of the breakage is c/s e8b87b57b "x86/HVM: fix preemption handling in do_hvm_op() (try 2)", and in particular the HVMOP_op_mask, which turns the above hypercalls into HVMOP_set_{pci_intx,isa_irq}_level hypercalls. From my point of view, I can work around this with the knowledge that HVMOP_set_{pci_intx,isa_irq}_level hypercalls are not eligible for pre-emption. However, it occurs to me that HVMOP_op_mask absolutely must live in the public header files, as it is guest visible, and forms part of the ABI. Consider a userspace task which falls into a continuation, is preempted and paused by the guest kernel, the entire VM migrated, and the task unpaused later. If HVMOP_op_mask has changed in that time, the continuation will become erroneous. In particular, all hypercall continuation strategies we use *must* be forward compatible when moving to newer versions of Xen, because Xen cannot possibly guarantee that a continuation which starts will finish on the same hypervisor. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |