Zachary Amsden wrote: > Failing to patch because not enough space is available for a call or jump > or because the site clobbers do not allow the target clobbers to fit is > a fatal error; it means the kernel can not be properly virtualized. > No, that doesn't follow. If the original site was: patchable_start: push %eax push %ecx push %edx call *paravirt_ops + thingy pop pop pop patchable_end: then its perfectly OK to leave it as-is, even if the direct call's destination clobbers are mismatched. If the patcher wants to generate a call to a C function in a context which can't deal with normal C calling conventions, then it needs to also patch in appropriate save/restores. J _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization