patch-pre2.0.5 linux/arch/m68k/kernel/setup.c

Next file: linux/arch/m68k/kernel/sys_m68k.c
Previous file: linux/arch/m68k/kernel/ptrace.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file pre2.0.4/linux/arch/m68k/kernel/setup.c linux/arch/m68k/kernel/setup.c
@@ -72,6 +72,7 @@
 #ifdef CONFIG_BLK_DEV_FD
 int (*mach_floppy_init) (void) = NULL;
 void (*mach_floppy_setup) (char *, int *) = NULL;
+void (*mach_floppy_eject) (void) = NULL;
 #endif
 
 extern void config_amiga(void);
@@ -115,6 +116,12 @@
 	else if (boot_info.cputype & CPU_68060)
 		m68k_is040or060 = 6;
 
+	/* clear the fpu if we have one */
+	if (boot_info.cputype & (FPU_68881|FPU_68882|FPU_68040|FPU_68060)) {
+		volatile int zero = 0;
+		asm __volatile__ ("frestore %0" : : "m" (zero));
+	}
+
 	memory_start = availmem;
 	memory_end = 0;
 
@@ -240,7 +247,7 @@
 		   "FPU:\t\t%s\n"
 		   "Clockspeed:\t%lu.%1luMHz\n"
 		   "BogoMips:\t%lu.%02lu\n",
-		   cpu, mmu, fpu, clockfreq/1000000,
+		   cpu, mmu, fpu, (clockfreq+50000)/1000000,
 		   ((clockfreq+50000)/100000)%10, loops_per_sec/500000,
 		   (loops_per_sec/5000)%100));
 }
@@ -311,6 +318,12 @@
 {
 	if (mach_floppy_setup)
 		mach_floppy_setup (str, ints);
+}
+
+void floppy_eject(void)
+{
+	if (mach_floppy_eject)
+		mach_floppy_eject();
 }
 #endif
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this