Messages in this thread | | | Date | Sun, 06 Aug 2006 22:56:26 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 4/4] x86 paravirt_ops: binary patching infrastructure |
| |
Andi Kleen wrote: >> >> +#ifdef CONFIG_PARAVIRT >> +void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end) >> > > It would be better to merge this with the existing LOCK prefix patching > or perhaps the normal alternative() patcher (is there any particular > reason you can't use it?) > > Three alternative patching mechanisms just seems to be too many
The difference is that every hypervisor wants its own patched instruction sequence, which may require a specialized patching mechanism. If you're simply patching in calls, then it isn't a big deal, but you may also want to patch in real inlined code for some operations (like sti/cli equivalents). The alternatives are to allow each backend to deal with its own patching (perhaps with common functions abstracted out as they appear), or have a common set of patching machinery which can deal with all users. The former seems simpler.
J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |