Thread (31 messages) 31 messages, 7 authors, 2006-08-08

Re: [PATCH 4/4] x86 paravirt_ops: binary patching infrastructure

From: Jeremy Fitzhardinge <hidden>
Date: 2006-08-07 05:56:19
Also in: lkml

Andi Kleen wrote:
quoted
 
+#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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help