diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-03-28 03:19:44 -0800 |
|---|---|---|
| committer | Dave Jones <davej@tetrachloride.(none)> | 2003-03-28 03:19:44 -0800 |
| commit | 9110cac96f40cced4b203ee4cee08dbd81dd627a (patch) | |
| tree | be2b716fea8cc049dc76364e83a9aaf949650ae6 | |
| parent | 5958cbab6a2cc8a194847f13eb7b6e9eab4512f0 (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.c | 3 |
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]); } } |
