aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_64.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-06-17 14:41:59 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-20 09:09:54 -0400
commitd494a96125c99f1e37b1f831b29b42c9b712ee05 (patch)
tree2a43489c1e3ba0fce51326e7548512252a052eef /arch/x86/mm/init_64.c
parent7c7e6e07e2a7c0d2d96389f4f0540e44a80ecdaa (diff)
x86: implement set_pte_vaddr
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/init_64.c')
-rw-r--r--arch/x86/mm/init_64.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index e5f531949857..74fae8335128 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -135,15 +135,15 @@ static __init void *spp_getpage(void)
135 return ptr; 135 return ptr;
136} 136}
137 137
138static void 138void
139set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot) 139set_pte_vaddr(unsigned long vaddr, pte_t new_pte)
140{ 140{
141 pgd_t *pgd; 141 pgd_t *pgd;
142 pud_t *pud; 142 pud_t *pud;
143 pmd_t *pmd; 143 pmd_t *pmd;
144 pte_t *pte, new_pte; 144 pte_t *pte;
145 145
146 pr_debug("set_pte_phys %lx to %lx\n", vaddr, phys); 146 pr_debug("set_pte_vaddr %lx to %lx\n", vaddr, native_pte_val(new_pte));
147 147
148 pgd = pgd_offset_k(vaddr); 148 pgd = pgd_offset_k(vaddr);
149 if (pgd_none(*pgd)) { 149 if (pgd_none(*pgd)) {
@@ -170,7 +170,6 @@ set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
170 return; 170 return;
171 } 171 }
172 } 172 }
173 new_pte = pfn_pte(phys >> PAGE_SHIFT, prot);
174 173
175 pte = pte_offset_kernel(pmd, vaddr); 174 pte = pte_offset_kernel(pmd, vaddr);
176 if (!pte_none(*pte) && pte_val(new_pte) && 175 if (!pte_none(*pte) && pte_val(new_pte) &&