aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386/paravirt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-i386/paravirt.h')
-rw-r--r--include/asm-i386/paravirt.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/asm-i386/paravirt.h b/include/asm-i386/paravirt.h
index f93599dc7756..61c03f1e0c29 100644
--- a/include/asm-i386/paravirt.h
+++ b/include/asm-i386/paravirt.h
@@ -119,6 +119,12 @@ struct paravirt_ops
119 119
120 void (*io_delay)(void); 120 void (*io_delay)(void);
121 121
122 void (*activate_mm)(struct mm_struct *prev,
123 struct mm_struct *next);
124 void (*dup_mmap)(struct mm_struct *oldmm,
125 struct mm_struct *mm);
126 void (*exit_mmap)(struct mm_struct *mm);
127
122#ifdef CONFIG_X86_LOCAL_APIC 128#ifdef CONFIG_X86_LOCAL_APIC
123 void (*apic_write)(unsigned long reg, unsigned long v); 129 void (*apic_write)(unsigned long reg, unsigned long v);
124 void (*apic_write_atomic)(unsigned long reg, unsigned long v); 130 void (*apic_write_atomic)(unsigned long reg, unsigned long v);
@@ -395,6 +401,23 @@ static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
395} 401}
396#endif 402#endif
397 403
404static inline void paravirt_activate_mm(struct mm_struct *prev,
405 struct mm_struct *next)
406{
407 paravirt_ops.activate_mm(prev, next);
408}
409
410static inline void arch_dup_mmap(struct mm_struct *oldmm,
411 struct mm_struct *mm)
412{
413 paravirt_ops.dup_mmap(oldmm, mm);
414}
415
416static inline void arch_exit_mmap(struct mm_struct *mm)
417{
418 paravirt_ops.exit_mmap(mm);
419}
420
398#define __flush_tlb() paravirt_ops.flush_tlb_user() 421#define __flush_tlb() paravirt_ops.flush_tlb_user()
399#define __flush_tlb_global() paravirt_ops.flush_tlb_kernel() 422#define __flush_tlb_global() paravirt_ops.flush_tlb_kernel()
400#define __flush_tlb_single(addr) paravirt_ops.flush_tlb_single(addr) 423#define __flush_tlb_single(addr) paravirt_ops.flush_tlb_single(addr)