From 9110cac96f40cced4b203ee4cee08dbd81dd627a Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Fri, 28 Mar 2003 03:19:44 -0800 Subject: [PATCH] fix to support discontigmem for 16way x440 From: Patricia Gaughen The boot-time ioermap code needs to invalidate the tlb entries after setting up the new pte. --- arch/i386/mm/boot_ioremap.c | 3 +++ 1 file changed, 3 insertions(+) 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 #include +#include #include #include @@ -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]); } } -- cgit v1.2.3