diff options
Diffstat (limited to 'include/asm-i386')
-rw-r--r-- | include/asm-i386/paravirt.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-i386/paravirt.h b/include/asm-i386/paravirt.h index 53da276a2ec2..38e5164bd0e7 100644 --- a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h | |||
@@ -146,6 +146,8 @@ struct paravirt_ops | |||
146 | void (fastcall *pmd_clear)(pmd_t *pmdp); | 146 | void (fastcall *pmd_clear)(pmd_t *pmdp); |
147 | #endif | 147 | #endif |
148 | 148 | ||
149 | void (fastcall *set_lazy_mode)(int mode); | ||
150 | |||
149 | /* These two are jmp to, not actually called. */ | 151 | /* These two are jmp to, not actually called. */ |
150 | void (fastcall *irq_enable_sysexit)(void); | 152 | void (fastcall *irq_enable_sysexit)(void); |
151 | void (fastcall *iret)(void); | 153 | void (fastcall *iret)(void); |
@@ -386,6 +388,19 @@ static inline void pmd_clear(pmd_t *pmdp) | |||
386 | } | 388 | } |
387 | #endif | 389 | #endif |
388 | 390 | ||
391 | /* Lazy mode for batching updates / context switch */ | ||
392 | #define PARAVIRT_LAZY_NONE 0 | ||
393 | #define PARAVIRT_LAZY_MMU 1 | ||
394 | #define PARAVIRT_LAZY_CPU 2 | ||
395 | |||
396 | #define __HAVE_ARCH_ENTER_LAZY_CPU_MODE | ||
397 | #define arch_enter_lazy_cpu_mode() paravirt_ops.set_lazy_mode(PARAVIRT_LAZY_CPU) | ||
398 | #define arch_leave_lazy_cpu_mode() paravirt_ops.set_lazy_mode(PARAVIRT_LAZY_NONE) | ||
399 | |||
400 | #define __HAVE_ARCH_ENTER_LAZY_MMU_MODE | ||
401 | #define arch_enter_lazy_mmu_mode() paravirt_ops.set_lazy_mode(PARAVIRT_LAZY_MMU) | ||
402 | #define arch_leave_lazy_mmu_mode() paravirt_ops.set_lazy_mode(PARAVIRT_LAZY_NONE) | ||
403 | |||
389 | /* These all sit in the .parainstructions section to tell us what to patch. */ | 404 | /* These all sit in the .parainstructions section to tell us what to patch. */ |
390 | struct paravirt_patch { | 405 | struct paravirt_patch { |
391 | u8 *instr; /* original instructions */ | 406 | u8 *instr; /* original instructions */ |