summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-03-28 03:19:44 -0800
committerDave Jones <davej@tetrachloride.(none)>2003-03-28 03:19:44 -0800
commit9110cac96f40cced4b203ee4cee08dbd81dd627a (patch)
treebe2b716fea8cc049dc76364e83a9aaf949650ae6
parent5958cbab6a2cc8a194847f13eb7b6e9eab4512f0 (diff)
[PATCH] fix to support discontigmem for 16way x440
From: Patricia Gaughen <gone@us.ibm.com> The boot-time ioermap code needs to invalidate the tlb entries after setting up the new pte.
-rw-r--r--arch/i386/mm/boot_ioremap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/mm/boot_ioremap.c b/arch/i386/mm/boot_ioremap.c
index 43f66c3ac340..d879c1aa90a2 100644
--- a/arch/i386/mm/boot_ioremap.c
+++ b/arch/i386/mm/boot_ioremap.c
@@ -19,6 +19,7 @@
#undef CONFIG_X86_PAE
#include <asm/page.h>
#include <asm/pgtable.h>
+#include <asm/tlbflush.h>
#include <linux/init.h>
#include <linux/stddef.h>
@@ -48,10 +49,12 @@ static void __boot_ioremap(unsigned long phys_addr, unsigned long nrpages,
{
boot_pte_t* pte;
int i;
+ char *vaddr = virtual_source;
pte = boot_vaddr_to_pte(virtual_source);
for (i=0; i < nrpages; i++, phys_addr += PAGE_SIZE, pte++) {
set_pte(pte, pfn_pte(phys_addr>>PAGE_SHIFT, PAGE_KERNEL));
+ __flush_tlb_one(&vaddr[i*PAGE_SIZE]);
}
}