aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-i386')
-rw-r--r--include/asm-i386/alternative.h8
-rw-r--r--include/asm-i386/paravirt.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/include/asm-i386/alternative.h b/include/asm-i386/alternative.h
index 4d518eebe461..5b59d07e9d29 100644
--- a/include/asm-i386/alternative.h
+++ b/include/asm-i386/alternative.h
@@ -115,12 +115,14 @@ static inline void alternatives_smp_switch(int smp) {}
115#define LOCK_PREFIX "" 115#define LOCK_PREFIX ""
116#endif 116#endif
117 117
118struct paravirt_patch; 118struct paravirt_patch_site;
119#ifdef CONFIG_PARAVIRT 119#ifdef CONFIG_PARAVIRT
120void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end); 120void apply_paravirt(struct paravirt_patch_site *start,
121 struct paravirt_patch_site *end);
121#else 122#else
122static inline void 123static inline void
123apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end) 124apply_paravirt(struct paravirt_patch_site *start,
125 struct paravirt_patch_site *end)
124{} 126{}
125#define __start_parainstructions NULL 127#define __start_parainstructions NULL
126#define __stop_parainstructions NULL 128#define __stop_parainstructions NULL
diff --git a/include/asm-i386/paravirt.h b/include/asm-i386/paravirt.h
index 61c03f1e0c29..b4cc2fc4031e 100644
--- a/include/asm-i386/paravirt.h
+++ b/include/asm-i386/paravirt.h
@@ -505,13 +505,16 @@ void _paravirt_nop(void);
505#define paravirt_nop ((void *)_paravirt_nop) 505#define paravirt_nop ((void *)_paravirt_nop)
506 506
507/* These all sit in the .parainstructions section to tell us what to patch. */ 507/* These all sit in the .parainstructions section to tell us what to patch. */
508struct paravirt_patch { 508struct paravirt_patch_site {
509 u8 *instr; /* original instructions */ 509 u8 *instr; /* original instructions */
510 u8 instrtype; /* type of this instruction */ 510 u8 instrtype; /* type of this instruction */
511 u8 len; /* length of original instruction */ 511 u8 len; /* length of original instruction */
512 u16 clobbers; /* what registers you may clobber */ 512 u16 clobbers; /* what registers you may clobber */
513}; 513};
514 514
515extern struct paravirt_patch_site __parainstructions[],
516 __parainstructions_end[];
517
515#define paravirt_alt(insn_string, typenum, clobber) \ 518#define paravirt_alt(insn_string, typenum, clobber) \
516 "771:\n\t" insn_string "\n" "772:\n" \ 519 "771:\n\t" insn_string "\n" "772:\n" \
517 ".pushsection .parainstructions,\"a\"\n" \ 520 ".pushsection .parainstructions,\"a\"\n" \