patch-2.1.77 linux/arch/i386/mm/init.c
Next file: linux/drivers/block/Config.in
Previous file: linux/arch/i386/kernel/smp.c
Back to the patch index
Back to the overall index
-  Lines: 29
-  Date:
Mon Dec 29 10:22:46 1997
-  Orig file: 
v2.1.76/linux/arch/i386/mm/init.c
-  Orig date: 
Sun Dec 21 22:36:12 1997
diff -u --recursive --new-file v2.1.76/linux/arch/i386/mm/init.c linux/arch/i386/mm/init.c
@@ -178,14 +178,21 @@
 		 *	the error...
 		 */
 		if (!smp_scan_config(639*0x400,0x400))	/* Scan the top 1K of base RAM */
-			smp_scan_config(0xF0000,0x10000);	/* Scan the 64K of bios */
+		{
+			if(!smp_scan_config(0xF0000,0x10000))	/* Scan the 64K of bios */
+			{
+				/*
+				 *	If it is an SMP machine we should know now, unless the configuration
+				 *	is in an EISA/MCA bus machine with an extended bios data area. 
+				 */
+		 
+				address = *(unsigned short *)phys_to_virt(0x40E); /* EBDA */
+				address<<=4;	/* Real mode segments to physical */
+				smp_scan_config(address, 0x1000);	/* Scan the EBDA */
+			}
+		}
 	}
-	/*
-	 *	If it is an SMP machine we should know now, unless the configuration
-	 *	is in an EISA/MCA bus machine with an extended bios data area. I don't
-	 *	have such a machine so someone else can fill in the check of the EBDA
-	 *	here.
-	 */
+			
 /*	smp_alloc_memory(8192); */
 #endif
 	start_mem = PAGE_ALIGN(start_mem);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov