On 21/11/2019 22:15, Andrew Cooper wrote: > The TASK_SWITCH vmexit has fault semantics, and doesn't provide any NRIPs > assistance with instruction length. As a result, any instruction-induced task > switch has the outgoing task's %eip pointing at the instruction switch caused > the switch, rather than after it. > > This causes explicit use of task gates to livelock (as when the task returns, > it executes the task-switching instruction again), and any restartable task to > become a nop after its first instantiation (the entry state points at the > ret/iret instruction used to exit the task).
FWIW, I've rewritten this paragraph as: This causes callers of task gates to livelock (repeatedly execute the call/jmp to enter the task), and any restartable task to become a nop after its first use (the (re)entry state points at the ret/iret used to exit the task). ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel