Displaying 20 results from an estimated 23 matches for "init_level4_pgt".
2012 Nov 16
1
[PATCH v4] x86/xen: Use __pa_symbol instead of __pa on C visible symbols
...) | _PAGE_TABLE);
+				__pgd(__pa_symbol(level3_user_vsyscall) |
+				      _PAGE_TABLE);
 			ret = 0;
 		}
 
@@ -1958,10 +1959,10 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
 	 * pgd.
 	 */
 	if (xen_feature(XENFEAT_writable_page_tables)) {
-		native_write_cr3(__pa(init_level4_pgt));
+		native_write_cr3(__pa_symbol(init_level4_pgt));
 	} else {
 		xen_mc_batch();
-		__xen_write_cr3(true, __pa(init_level4_pgt));
+		__xen_write_cr3(true, __pa_symbol(init_level4_pgt));
 		xen_mc_issue(PARAVIRT_LAZY_CPU);
 	}
 	/* We can't that easily rip out L3 and L2, as the Xen pagetables...
2012 Nov 16
1
[PATCH v4] x86/xen: Use __pa_symbol instead of __pa on C visible symbols
...) | _PAGE_TABLE);
+				__pgd(__pa_symbol(level3_user_vsyscall) |
+				      _PAGE_TABLE);
 			ret = 0;
 		}
 
@@ -1958,10 +1959,10 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
 	 * pgd.
 	 */
 	if (xen_feature(XENFEAT_writable_page_tables)) {
-		native_write_cr3(__pa(init_level4_pgt));
+		native_write_cr3(__pa_symbol(init_level4_pgt));
 	} else {
 		xen_mc_batch();
-		__xen_write_cr3(true, __pa(init_level4_pgt));
+		__xen_write_cr3(true, __pa_symbol(init_level4_pgt));
 		xen_mc_issue(PARAVIRT_LAZY_CPU);
 	}
 	/* We can't that easily rip out L3 and L2, as the Xen pagetables...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...IDT_ENTRIES; i++)
 		set_intr_gate(i, early_idt_handler);
-	asm volatile("lidt %0" :: "m" (idt_descr));
+	load_idt((const struct desc_ptr *)&idt_descr);
 
 	early_printk("Kernel alive\n");
 
@@ -70,7 +74,7 @@ void __init x86_64_start_kernel(char * r
 	 * switch to init_level4_pgt from boot_level4_pgt
 	 */
 	memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t));
-	asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+	write_cr3(__pa_symbol(&init_level4_pgt));
 
  	for (i = 0; i < NR_CPUS; i++)
  		cpu_pda(i) = &...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...IDT_ENTRIES; i++)
 		set_intr_gate(i, early_idt_handler);
-	asm volatile("lidt %0" :: "m" (idt_descr));
+	load_idt((const struct desc_ptr *)&idt_descr);
 
 	early_printk("Kernel alive\n");
 
@@ -70,7 +74,7 @@ void __init x86_64_start_kernel(char * r
 	 * switch to init_level4_pgt from boot_level4_pgt
 	 */
 	memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t));
-	asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+	write_cr3(__pa_symbol(&init_level4_pgt));
 
  	for (i = 0; i < NR_CPUS; i++)
  		cpu_pda(i) = &...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
...if (!after_bootmem)
-		asm volatile("movq %%cr4,%0" : "=r" (mmu_cr4_features));
+		mmu_cr4_features = read_cr4();
 	__flush_tlb_all();
 }
 
@@ -398,7 +398,7 @@ void __cpuinit zap_low_mappings(int cpu)
 		 * For AP's, zap the low identity mappings by changing the cr3
 		 * to init_level4_pgt and doing local flush tlb all
 		 */
-		asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+		write_cr3(__pa_symbol(&init_level4_pgt));
 	}
 	__flush_tlb_all();
 }
Index: clean-start/include/asm-x86_64/mmu_context.h
====================================...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 08/17] paravirt_ops - memory managment
...if (!after_bootmem)
-		asm volatile("movq %%cr4,%0" : "=r" (mmu_cr4_features));
+		mmu_cr4_features = read_cr4();
 	__flush_tlb_all();
 }
 
@@ -398,7 +398,7 @@ void __cpuinit zap_low_mappings(int cpu)
 		 * For AP's, zap the low identity mappings by changing the cr3
 		 * to init_level4_pgt and doing local flush tlb all
 		 */
-		asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+		write_cr3(__pa_symbol(&init_level4_pgt));
 	}
 	__flush_tlb_all();
 }
Index: clean-start/include/asm-x86_64/mmu_context.h
====================================...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...ex: linux-2.6.19-quilt/arch/x86_64/kernel/head64.c
===================================================================
--- linux-2.6.19-quilt.orig/arch/x86_64/kernel/head64.c
+++ linux-2.6.19-quilt/arch/x86_64/kernel/head64.c
@@ -70,7 +70,7 @@ void __init x86_64_start_kernel(char * r
 	 * switch to init_level4_pgt from boot_level4_pgt
 	 */
 	memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t));
-	asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+	write_cr3(__pa_symbol(&init_level4_pgt));
 
  	for (i = 0; i < NR_CPUS; i++)
  		cpu_pda(i) = &...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...ex: linux-2.6.19-quilt/arch/x86_64/kernel/head64.c
===================================================================
--- linux-2.6.19-quilt.orig/arch/x86_64/kernel/head64.c
+++ linux-2.6.19-quilt/arch/x86_64/kernel/head64.c
@@ -70,7 +70,7 @@ void __init x86_64_start_kernel(char * r
 	 * switch to init_level4_pgt from boot_level4_pgt
 	 */
 	memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t));
-	asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
+	write_cr3(__pa_symbol(&init_level4_pgt));
 
  	for (i = 0; i < NR_CPUS; i++)
  		cpu_pda(i) = &...
2012 Jun 29
0
[PATCH] linux-2.6.18/x86: improve CR0 read/write handling
.../arch/x86_64/kernel/setup64-xen.c
+++ b/arch/x86_64/kernel/setup64-xen.c
@@ -126,6 +126,9 @@ void __init setup_per_cpu_areas(void)
 } 
 
 #ifdef CONFIG_XEN
+DEFINE_PER_CPU(unsigned long, xen_x86_cr0);
+EXPORT_PER_CPU_SYMBOL(xen_x86_cr0);
+
 static void switch_pt(void)
 {
 	xen_pt_switch(__pa_symbol(init_level4_pgt));
@@ -174,6 +177,7 @@ void pda_init(int cpu)
 	if (HYPERVISOR_set_segment_base(SEGBASE_GS_KERNEL,
 					(unsigned long)pda))
 		BUG();
+	__get_cpu_var(xen_x86_cr0) = raw_read_cr0();
 #endif
 	pda->cpunumber = cpu; 
 	pda->irqcount = -1;
--- a/arch/x86_64/kernel/traps-xen.c
+++ b/arch/x86_64/...
2007 Dec 12
5
[PATCH 0/6] paravirt patches - the non-integration part
Hi,
This series corresponds do older patches in the paravirt series
that was neither already applied, nor I will touch again. In general,
they do not touch code that can be unified (at least, without being the
unification a big problem on its own).
They passed through this list a lot of times, so I feel them ready for
inclusion, unless someone opposes. 
As with the other patches, they apply to
2007 Dec 12
5
[PATCH 0/6] paravirt patches - the non-integration part
Hi,
This series corresponds do older patches in the paravirt series
that was neither already applied, nor I will touch again. In general,
they do not touch code that can be unified (at least, without being the
unification a big problem on its own).
They passed through this list a lot of times, so I feel them ready for
inclusion, unless someone opposes. 
As with the other patches, they apply to
2007 Jan 20
5
[PATCH] Fix linux compilation on x86-64
This patch fixes Linux 2.6.18 compilation on x86-64 and also works on
i386.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2013 Feb 22
3
[GIT PULL] x86/mm changes for v3.9-rc1
...ctor out e820_add_kernel_range()
      x86, 64bit, mm: Make pgd next calculation consistent with pud/pmd
      x86, realmode: Set real_mode permissions early
      x86, 64bit, mm: Add generic kernel/ident mapping helper
      x86, 64bit: Copy struct boot_params early
      x86, 64bit, realmode: Use init_level4_pgt to set trampoline_pgd directly
      x86, realmode: Separate real_mode reserve and setup
      x86, 64bit: #PF handler set page to cover only 2M per #PF
      x86, 64bit: Don't set max_pfn_mapped wrong value early on native path
      x86: Merge early_reserve_initrd for 32bit and 64bit
      x8...
2013 Feb 22
3
[GIT PULL] x86/mm changes for v3.9-rc1
...ctor out e820_add_kernel_range()
      x86, 64bit, mm: Make pgd next calculation consistent with pud/pmd
      x86, realmode: Set real_mode permissions early
      x86, 64bit, mm: Add generic kernel/ident mapping helper
      x86, 64bit: Copy struct boot_params early
      x86, 64bit, realmode: Use init_level4_pgt to set trampoline_pgd directly
      x86, realmode: Separate real_mode reserve and setup
      x86, 64bit: #PF handler set page to cover only 2M per #PF
      x86, 64bit: Don't set max_pfn_mapped wrong value early on native path
      x86: Merge early_reserve_initrd for 32bit and 64bit
      x8...
2013 Feb 22
3
[GIT PULL] x86/mm changes for v3.9-rc1
...ctor out e820_add_kernel_range()
      x86, 64bit, mm: Make pgd next calculation consistent with pud/pmd
      x86, realmode: Set real_mode permissions early
      x86, 64bit, mm: Add generic kernel/ident mapping helper
      x86, 64bit: Copy struct boot_params early
      x86, 64bit, realmode: Use init_level4_pgt to set trampoline_pgd directly
      x86, realmode: Separate real_mode reserve and setup
      x86, 64bit: #PF handler set page to cover only 2M per #PF
      x86, 64bit: Don't set max_pfn_mapped wrong value early on native path
      x86: Merge early_reserve_initrd for 32bit and 64bit
      x8...
2007 Aug 10
9
[PATCH 0/25 -v2] paravirt_ops for x86_64, second round
Here is an slightly updated version of the paravirt_ops patch.
If your comments and criticism were welcome before, now it's even more!
There are some issues that are _not_ addressed in this revision, and here
are the causes:
* split debugreg into multiple functions, suggested by Andi:
  - Me and jsfg agree that introducing more pvops (specially 14!) is
    not worthwhile. So, although we do
2007 Aug 10
9
[PATCH 0/25 -v2] paravirt_ops for x86_64, second round
Here is an slightly updated version of the paravirt_ops patch.
If your comments and criticism were welcome before, now it's even more!
There are some issues that are _not_ addressed in this revision, and here
are the causes:
* split debugreg into multiple functions, suggested by Andi:
  - Me and jsfg agree that introducing more pvops (specially 14!) is
    not worthwhile. So, although we do
2007 Aug 15
13
[PATCH 0/25][V3] pvops_64 last round (hopefully)
This is hopefully the last iteration of the pvops64 patch.
>From the last version, we have only one change, which is include/asm-x86_64/processor.h: There were still one survivor in raw asm.
Also, git screwed me up for some reason, and the 25th patch was missing the new files, paravirt.{c,h}. (although I do remember having git-add'ed it, but who knows...)
Andrew, could you please push it
2007 Aug 15
13
[PATCH 0/25][V3] pvops_64 last round (hopefully)
This is hopefully the last iteration of the pvops64 patch.
>From the last version, we have only one change, which is include/asm-x86_64/processor.h: There were still one survivor in raw asm.
Also, git screwed me up for some reason, and the 25th patch was missing the new files, paravirt.{c,h}. (although I do remember having git-add'ed it, but who knows...)
Andrew, could you please push it
2007 Aug 08
19
Introducing paravirt_ops for x86_64
Hi folks,
After some time away from it, and a big rebase as a consequence, here is
the updated version of paravirt_ops for x86_64, heading to inclusion.
Your criticism is of course, very welcome. 
Have fun
--
 arch/x86_64/Kconfig              |   11 
 arch/x86_64/ia32/syscall32.c     |    2 
 arch/x86_64/kernel/Makefile      |    1 
 arch/x86_64/kernel/apic.c        |    2