patch-2.3.99-pre9 linux/arch/mips64/mm/init.c
Next file: linux/arch/mips64/mm/loadmmu.c
Previous file: linux/arch/mips64/mm/fault.c
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Sat May 13 08:30:17 2000
- Orig file:
v2.3.99-pre8/linux/arch/mips64/mm/init.c
- Orig date:
Sat Feb 26 22:31:41 2000
diff -u --recursive --new-file v2.3.99-pre8/linux/arch/mips64/mm/init.c linux/arch/mips64/mm/init.c
@@ -87,6 +87,8 @@
if (ret) {
init = pgd_offset(&init_mm, 0);
pgd_init((unsigned long)ret);
+ memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD,
+ (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));
}
return ret;
}
@@ -250,7 +252,7 @@
bp = pte_val(BAD_PAGE);
p = (unsigned long *) page;
- end = p + PTRS_PER_PTE;
+ end = p + (2 * PTRS_PER_PTE);
while (p < end) {
p[0] = p[1] = p[2] = p[3] =
@@ -278,7 +280,7 @@
unsigned long page;
page = (unsigned long) invalid_pmd_table;
- pte_init(page);
+ pmd_init(page);
return (pmd_t *) page;
}
@@ -345,8 +347,8 @@
/* Initialize the entire pgd. */
pgd_init((unsigned long)swapper_pg_dir);
- pgd_init((unsigned long)swapper_pg_dir + PAGE_SIZE / 2);
pmd_init((unsigned long)invalid_pmd_table);
+ memset((void *)invalid_pte_table, 0, sizeof(pte_t) * 2 * PTRS_PER_PTE);
max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
low = max_low_pfn;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)