patch-2.0.21-2.1.0 linux/arch/i386/kernel/traps.c

Next file: linux/arch/i386/kernel/vm86.c
Previous file: linux/arch/i386/kernel/smp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file lx2.0/v2.0.21/linux/arch/i386/kernel/traps.c linux/arch/i386/kernel/traps.c
@@ -134,7 +134,8 @@
 	printk("\nCall Trace: ");
 	stack = (unsigned long *) esp;
 	i = 1;
-	module_start = ((high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1));
+	module_start = PAGE_OFFSET + (max_mapnr << PAGE_SHIFT);
+	module_start = ((module_start + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1));
 	module_end = module_start + MODULE_RANGE;
 	while (((long) stack & 4095) != 0) {
 		addr = get_seg_long(ss, stack++);
@@ -329,7 +330,7 @@
 		return;
 	}
 	smptrap++;
-	if (strncmp((char*)0x0FFFD9, "EISA", 4) == 0)
+	if (strncmp((char*)phys_to_virt(0x0FFFD9), "EISA", 4) == 0)
 		EISA_bus = 1;
 	set_call_gate(&default_ldt,lcall7);
 	set_trap_gate(0,&divide_error);

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