Here's the new patching patch. It compiles, but it doesn't, you know, boot, as such. The basic idea is to make the incremental cost of patching a new hook as small as possible. If a backend wants pure default patch handling, then it can simply call paravirt_patcher with a NULL patch table; this will end up patching calls to be direct calls to the paravirt op, unless the op is NULL or points to native_nop. Otherwise, a backend can set up a patch table to set specific handling for entrypoints, though the default is still to generate a direct call to the op. The patch type is now derived from offsetof(paravirt_ops, op), so that there's no need to maintain a specific enumeration. J -------------- next part -------------- A non-text attachment was scrubbed... Name: paravirt-generic-patching.patch Type: text/x-patch Size: 25143 bytes Desc: not available Url : http://lists.osdl.org/pipermail/virtualization/attachments/20070221/b0583516/attachment.bin