rough sketch of revised patching infrastructure

Jeremy Fitzhardinge
2007-04-18T17:49:51Z

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