search for: load_cr3

Displaying 20 results from an estimated 54 matches for "load_cr3".

2008 Aug 26
0
[PATCH] xen: wrap load_cr3() in manage.c for ia64 support.
wrap load_cr3() in manage.c by xen_pre_device_suspend() because it is x86 dependent. Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp> --- arch/x86/xen/suspend.c | 5 +++++ drivers/xen/manage.c | 3 +-- include/xen/xen-ops.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) dif...
2008 Jul 03
0
[PATCH] xen: remove load_cr3() from manage.c for ia64 support.
remove load_cr3() from manage.c. It is unncessary and x86 dependent. Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp> --- drivers/xen/manage.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 2bb268e..e8db90c 100644 --- a/d...
2007 Nov 15
0
[patch 12/19] xen: deal with stale cr3 values when unpinning pagetables
...+515,43 @@ static void drop_other_mm_ref(void *info if (__get_cpu_var(cpu_tlbstate).active_mm == mm) leave_mm(smp_processor_id()); + + /* If this cpu still has a stale cr3 reference, then make sure + it has been flushed. */ + if (x86_read_percpu(xen_current_cr3) == __pa(mm->pgd)) { + load_cr3(swapper_pg_dir); + arch_flush_lazy_cpu_mode(); + } } static void drop_mm_ref(struct mm_struct *mm) { + cpumask_t mask; + unsigned cpu; + if (current->active_mm == mm) { if (current->mm == mm) load_cr3(swapper_pg_dir); else leave_mm(smp_processor_id()); + arch_flush_lazy...
2007 Nov 15
0
[patch 12/19] xen: deal with stale cr3 values when unpinning pagetables
...+515,43 @@ static void drop_other_mm_ref(void *info if (__get_cpu_var(cpu_tlbstate).active_mm == mm) leave_mm(smp_processor_id()); + + /* If this cpu still has a stale cr3 reference, then make sure + it has been flushed. */ + if (x86_read_percpu(xen_current_cr3) == __pa(mm->pgd)) { + load_cr3(swapper_pg_dir); + arch_flush_lazy_cpu_mode(); + } } static void drop_mm_ref(struct mm_struct *mm) { + cpumask_t mask; + unsigned cpu; + if (current->active_mm == mm) { if (current->mm == mm) load_cr3(swapper_pg_dir); else leave_mm(smp_processor_id()); + arch_flush_lazy...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
..._tlb_all(); } Index: clean-start/include/asm-x86_64/mmu_context.h =================================================================== --- clean-start.orig/include/asm-x86_64/mmu_context.h +++ clean-start/include/asm-x86_64/mmu_context.h @@ -42,7 +42,7 @@ static inline void switch_mm(struct mm_s load_cr3(next->pgd); if (unlikely(next->context.ldt != prev->context.ldt)) - load_LDT_nolock(&next->context, cpu); + load_LDT_nolock(&next->context); } #ifdef CONFIG_SMP else { @@ -55,7 +55,7 @@ static inline void switch_mm(struct mm_s * to make sure to use no free...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
..._tlb_all(); } Index: clean-start/include/asm-x86_64/mmu_context.h =================================================================== --- clean-start.orig/include/asm-x86_64/mmu_context.h +++ clean-start/include/asm-x86_64/mmu_context.h @@ -42,7 +42,7 @@ static inline void switch_mm(struct mm_s load_cr3(next->pgd); if (unlikely(next->context.ldt != prev->context.ldt)) - load_LDT_nolock(&next->context, cpu); + load_LDT_nolock(&next->context); } #ifdef CONFIG_SMP else { @@ -55,7 +55,7 @@ static inline void switch_mm(struct mm_s * to make sure to use no free...
2020 Sep 07
0
[PATCH v7 67/72] x86/smpboot: Load TSS and getcpu GDT entry before loading IDT
...ed (naturally) in the bootstrap process, such as the GDT diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index f5ef689dd62a..de776b2e6046 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -227,7 +227,7 @@ static void notrace start_secondary(void *unused) load_cr3(swapper_pg_dir); __flush_tlb_all(); #endif - load_current_idt(); + cpu_init_exception_handling(); cpu_init(); x86_cpuinit.early_percpu_clock_init(); preempt_disable(); -- 2.28.0
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
...uot;bx", "dx" ); - return ecx; -} -static inline unsigned int cpuid_edx(unsigned int op) -{ - unsigned int eax, edx; - - __asm__("cpuid" - : "=a" (eax), "=d" (edx) - : "0" (op) - : "bx", "cx"); - return edx; -} - -#define load_cr3(pgdir) write_cr3(__pa(pgdir)) - -/* * Intel CPU features in CR4 */ #define X86_CR4_VME 0x0001 /* enable vm86 extensions */ @@ -224,6 +151,8 @@ static inline unsigned int cpuid_edx(uns #define X86_CR4_OSFXSR 0x0200 /* enable fast FPU save and restore */ #define X86_CR4_OSXMMEXCPT 0x0400 /*...
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
...uot;bx", "dx" ); - return ecx; -} -static inline unsigned int cpuid_edx(unsigned int op) -{ - unsigned int eax, edx; - - __asm__("cpuid" - : "=a" (eax), "=d" (edx) - : "0" (op) - : "bx", "cx"); - return edx; -} - -#define load_cr3(pgdir) write_cr3(__pa(pgdir)) - -/* * Intel CPU features in CR4 */ #define X86_CR4_VME 0x0001 /* enable vm86 extensions */ @@ -224,6 +151,8 @@ static inline unsigned int cpuid_edx(uns #define X86_CR4_OSFXSR 0x0200 /* enable fast FPU save and restore */ #define X86_CR4_OSXMMEXCPT 0x0400 /*...
2007 Apr 18
4
paravirt repo rebased to 2.6.21-rc6-mm1
Seems to work OK for native and Xen. I had to play a bit with the paravirt-sched-clock patch to deal with the VMI changes. Zach, can you check that it still works? Thanks, J
2007 Apr 18
4
paravirt repo rebased to 2.6.21-rc6-mm1
Seems to work OK for native and Xen. I had to play a bit with the paravirt-sched-clock patch to deal with the VMI changes. Zach, can you check that it still works? Thanks, J
2011 Mar 14
8
pvops0 kernel 2.6.32.x still does not boot if x > 18, shouldn''t that be fixed for release of Xen 4.0.2/4.1
Hello Jeremy & Keir, sorry to be persistent, but the problem that pvops0 kernel 2.6.32.x still does not boot if x > 18 on my machines (and on many other machines, see this mailing list) is not solved yet. Shouldn''t this be a great focus of debugging and fixing? What is the point of having releases for 4.0.2 or 4.1 if I don''t have a dom0 kernel? The last time I tried
2017 Dec 22
0
[PATCH 4.14 064/159] x86/virt, x86/platform: Merge struct x86_hyper into struct x86_platform and struct x86_init
...e_sched_clock_state = tsc_save_sched_clock_state, .restore_sched_clock_state = tsc_restore_sched_clock_state, + .hyper.pin_vcpu = x86_op_int_noop, }; EXPORT_SYMBOL_GPL(x86_platform); --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -671,7 +671,7 @@ void __init init_mem_mapping(void) load_cr3(swapper_pg_dir); __flush_tlb_all(); - hypervisor_init_mem_mapping(); + x86_init.hyper.init_mem_mapping(); early_memtest(0, max_pfn_mapped << PAGE_SHIFT); } --- a/arch/x86/xen/enlighten_hvm.c +++ b/arch/x86/xen/enlighten_hvm.c @@ -229,9 +229,9 @@ static uint32_t __init xen_platform_hv...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
...VMI_NO_INPUT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +static inline u32 read_cr4(void) +{ + u32 ret; + vmi_wrap_call( + GetCR4, "mov %%cr4, %%eax", + VMI_OREG1(ret), + 0, VMI_NO_INPUT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +#define read_cr4_safe() read_cr4() +#define load_cr3(pgdir) write_cr3(__pa(pgdir)) + +static inline void clts(void) +{ + vmi_wrap_call( + CLTS, "clts", + VMI_NO_OUTPUT, + 0, VMI_NO_INPUT, + VMI_CLOBBER(ZERO_RETURNS)); +} + +static inline void wbinvd(void) +{ + vmi_wrap_call( + WBINVD, "wbinvd", + VMI_NO_OUTPUT, + 0, VMI_NO_...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
...VMI_NO_INPUT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +static inline u32 read_cr4(void) +{ + u32 ret; + vmi_wrap_call( + GetCR4, "mov %%cr4, %%eax", + VMI_OREG1(ret), + 0, VMI_NO_INPUT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +#define read_cr4_safe() read_cr4() +#define load_cr3(pgdir) write_cr3(__pa(pgdir)) + +static inline void clts(void) +{ + vmi_wrap_call( + CLTS, "clts", + VMI_NO_OUTPUT, + 0, VMI_NO_INPUT, + VMI_CLOBBER(ZERO_RETURNS)); +} + +static inline void wbinvd(void) +{ + vmi_wrap_call( + WBINVD, "wbinvd", + VMI_NO_OUTPUT, + 0, VMI_NO_...
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2007 Apr 18
2
[PATCH] Fix CONFIG_PARAVIRT for 2.6.19-rc5-mm1
...igned int op) -{ - unsigned int eax, ebx, ecx, edx; - - cpuid(op, &eax, &ebx, &ecx, &edx); - return ecx; -} -static inline unsigned int cpuid_edx(unsigned int op) -{ - unsigned int eax, ebx, ecx, edx; - - cpuid(op, &eax, &ebx, &ecx, &edx); - return edx; -} - #define load_cr3(pgdir) write_cr3(__pa(pgdir)) /* @@ -505,18 +445,6 @@ struct thread_struct { .io_bitmap = { [ 0 ... IO_BITMAP_LONGS] = ~0 }, \ } -#ifndef CONFIG_PARAVIRT -static inline void load_esp0(struct tss_struct *tss, struct thread_struct *thread) -{ - tss->esp0 = thread->esp0; - /* This can o...
2007 Apr 18
2
[PATCH] Fix CONFIG_PARAVIRT for 2.6.19-rc5-mm1
...igned int op) -{ - unsigned int eax, ebx, ecx, edx; - - cpuid(op, &eax, &ebx, &ecx, &edx); - return ecx; -} -static inline unsigned int cpuid_edx(unsigned int op) -{ - unsigned int eax, ebx, ecx, edx; - - cpuid(op, &eax, &ebx, &ecx, &edx); - return edx; -} - #define load_cr3(pgdir) write_cr3(__pa(pgdir)) /* @@ -505,18 +445,6 @@ struct thread_struct { .io_bitmap = { [ 0 ... IO_BITMAP_LONGS] = ~0 }, \ } -#ifndef CONFIG_PARAVIRT -static inline void load_esp0(struct tss_struct *tss, struct thread_struct *thread) -{ - tss->esp0 = thread->esp0; - /* This can o...