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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- [PATCH 17/25] [PATCH] turn page operations into native versions
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 17/25] [PATCH] turn page operations into native versions
- References:
- Introducing paravirt_ops for x86_64
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 1/25] [PATCH] header file move
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 2/25] [PATCH] tlb flushing routines
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 3/25] [PATCH] irq_flags / halt routines
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 5/25] [PATCH] native versions for system.h functions
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 6/25] [PATCH] add native_apic read and write functions, as well as boot clocks ones
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 7/25] [PATCH] interrupt related native paravirt functions.
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 8/25] [PATCH] use macro for sti/cli in spinlock definitions
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 9/25] [PATCH] report ring kernel is running without paravirt
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 10/25] [PATCH] export math_state_restore
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 11/25] [PATCH] introduce paravirt_release_pgd()
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 12/25] [PATCH] native versions for set pagetables
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 13/25] [PATCH] turn msr.h functions into native versions
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 14/25] [PATCH] add native functions for descriptors handling
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 15/25] [PATCH] get rid of inline asm for load_cr3
- From: Glauber de Oliveira Costa <[email protected]>
- Introducing paravirt_ops for x86_64
- Prev by Date: [PATCH 8/25] [PATCH] use macro for sti/cli in spinlock definitions
- Next by Date: [PATCH 10/25] [PATCH] export math_state_restore
- Previous by thread: [PATCH 15/25] [PATCH] get rid of inline asm for load_cr3
- Next by thread: [PATCH 17/25] [PATCH] turn page operations into native versions
- Index(es):