This function/macro will allow a paravirt guest to be notified we changed the current task cr3, and act upon it. It's up to them
Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> Signed-off-by: Steven Rostedt <[EMAIL PROTECTED]> --- include/asm-x86_64/mmu_context.h | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/include/asm-x86_64/mmu_context.h b/include/asm-x86_64/mmu_context.h index 9592698..77ce047 100644 --- a/include/asm-x86_64/mmu_context.h +++ b/include/asm-x86_64/mmu_context.h @@ -7,7 +7,16 @@ #include <asm/pda.h> #include <asm/pgtable.h> #include <asm/tlbflush.h> + +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #include <asm-generic/mm_hooks.h> +static inline void paravirt_activate_mm(struct mm_struct *prev, + struct mm_struct *next) +{ +} +#endif /* CONFIG_PARAVIRT */ /* * possibly do the LDT unload here? @@ -67,8 +76,10 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, asm volatile("movl %0,%%fs"::"r"(0)); \ } while(0) -#define activate_mm(prev, next) \ - switch_mm((prev),(next),NULL) - +#define activate_mm(prev, next) \ +do { \ + paravirt_activate_mm(prev, next); \ + switch_mm((prev),(next),NULL); \ +} while (0) #endif -- 1.4.4.2 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization