diff options
Diffstat (limited to 'include/asm-x86/paravirt.h')
-rw-r--r-- | include/asm-x86/paravirt.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h index 5935c273af1f..b35ed95166e4 100644 --- a/include/asm-x86/paravirt.h +++ b/include/asm-x86/paravirt.h | |||
@@ -308,6 +308,11 @@ extern struct pv_mmu_ops pv_mmu_ops; | |||
308 | #define paravirt_alt(insn_string) \ | 308 | #define paravirt_alt(insn_string) \ |
309 | _paravirt_alt(insn_string, "%c[paravirt_typenum]", "%c[paravirt_clobber]") | 309 | _paravirt_alt(insn_string, "%c[paravirt_typenum]", "%c[paravirt_clobber]") |
310 | 310 | ||
311 | /* Simple instruction patching code. */ | ||
312 | #define DEF_NATIVE(ops, name, code) \ | ||
313 | extern const char start_##ops##_##name[], end_##ops##_##name[]; \ | ||
314 | asm("start_" #ops "_" #name ": " code "; end_" #ops "_" #name ":") | ||
315 | |||
311 | unsigned paravirt_patch_nop(void); | 316 | unsigned paravirt_patch_nop(void); |
312 | unsigned paravirt_patch_ignore(unsigned len); | 317 | unsigned paravirt_patch_ignore(unsigned len); |
313 | unsigned paravirt_patch_call(void *insnbuf, | 318 | unsigned paravirt_patch_call(void *insnbuf, |
@@ -322,6 +327,9 @@ unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf, | |||
322 | unsigned paravirt_patch_insns(void *insnbuf, unsigned len, | 327 | unsigned paravirt_patch_insns(void *insnbuf, unsigned len, |
323 | const char *start, const char *end); | 328 | const char *start, const char *end); |
324 | 329 | ||
330 | unsigned native_patch(u8 type, u16 clobbers, void *ibuf, | ||
331 | unsigned long addr, unsigned len); | ||
332 | |||
325 | int paravirt_disable_iospace(void); | 333 | int paravirt_disable_iospace(void); |
326 | 334 | ||
327 | /* | 335 | /* |