Besides not elegant, it is now even forbidden, since it can break paravirtualized guests. load_cr3 should call write_cr3() instead. Signed-off-by: Glauber de Oliveira Costa <[email protected]> Signed-off-by: Steven Rostedt <[email protected]> --- include/asm-x86_64/mmu_context.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/asm-x86_64/mmu_context.h b/include/asm-x86_64/mmu_context.h index c8cdc1e..9592698 100644 --- a/include/asm-x86_64/mmu_context.h +++ b/include/asm-x86_64/mmu_context.h @@ -25,7 +25,7 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) static inline void load_cr3(pgd_t *pgd) { - asm volatile("movq %0,%%cr3" :: "r" (__pa(pgd)) : "memory"); + write_cr3(__pa(pgd)); } static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, -- 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 16/25] [PATCH] introducing paravirt_activate_mm
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH 16/25] [PATCH] introducing paravirt_activate_mm
- 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]>
- Introducing paravirt_ops for x86_64
- Prev by Date: [PATCH 12/25] [PATCH] native versions for set pagetables
- Next by Date: [PATCH 13/25] [PATCH] turn msr.h functions into native versions
- Previous by thread: [PATCH 14/25] [PATCH] add native functions for descriptors handling
- Next by thread: [PATCH 16/25] [PATCH] introducing paravirt_activate_mm
- Index(es):