patch-2.1.116 linux/arch/i386/mm/init.c

Next file: linux/arch/m68k/config.in
Previous file: linux/arch/i386/kernel/traps.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.115/linux/arch/i386/mm/init.c linux/arch/i386/mm/init.c
@@ -210,15 +210,15 @@
 /*
  * allocate page table(s) for compile-time fixed mappings
  */
-static unsigned long fixmap_init (unsigned long start_mem)
+static unsigned long __init fixmap_init(unsigned long start_mem)
 {
 	pgd_t * pg_dir;
 	unsigned int idx;
 	unsigned long address;
 
-	start_mem &= PAGE_MASK;
+	start_mem = PAGE_ALIGN(start_mem);
 
-	for (idx=1; idx < __end_of_fixed_addresses; idx += PTRS_PER_PTE)
+	for (idx=1; idx <= __end_of_fixed_addresses; idx += PTRS_PER_PTE)
 	{
 		address = fix_to_virt(__end_of_fixed_addresses-idx);
 		pg_dir = swapper_pg_dir + (address >> PGDIR_SHIFT);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov