--- linux-2.0.29/arch/m68k/kernel/setup.c.161297 Sat Dec 20 06:09:26 1997
+++ linux-2.0.29/arch/m68k/kernel/setup.c Sat Dec 20 06:09:26 1997
@@ -35,6 +35,8 @@
int m68k_is040or060 = 0;
+int m68k_has_fpu = 0;
+
unsigned short int mach_max_noint_ipl = 0;
unsigned short int mach_allowint = 0xf8ff;
@@ -129,6 +131,7 @@
/* clear the fpu if we have one */
if (boot_info.cputype & (FPU_68881|FPU_68882|FPU_68040|FPU_68060)) {
volatile int zero = 0;
+ m68k_has_fpu = 1;
asm __volatile__ ("frestore %0" : : "m" (zero));
}
--- linux-2.0.29/fs/Makefile.161297 Sat Dec 20 22:16:18 1997
+++ linux-2.0.29/fs/Makefile Sat Dec 20 22:16:18 1997
@@ -152,7 +152,7 @@
ifeq ($(CONFIG_HFS_FS),y)
SUB_DIRS += hfs
else
- ifeq ($(CONFIG_UFS_FS),m)
+ ifeq ($(CONFIG_HFS_FS),m)
MOD_SUB_DIRS += hfs
endif
endif
--- linux-2.0.29/include/asm-m68k/processor.h.161297 Sat Dec 20 03:38:58 1997
+++ linux-2.0.29/include/asm-m68k/processor.h Sat Dec 20 06:07:25 1997
@@ -60,6 +60,8 @@
#define alloc_kernel_stack() __get_free_page(GFP_KERNEL)
#define free_kernel_stack(page) free_page((page))
+extern int m68k_has_fpu;
+
/*
* Do necessary setup to start up a newly executed thread.
*/
@@ -68,8 +70,9 @@
{
unsigned long nilstate = 0;
- /* clear floating point state */
- __asm__ __volatile__ ("frestore %0@" : : "a" (&nilstate));
+ if (m68k_has_fpu)
+ /* clear floating point state */
+ __asm__ __volatile__ ("frestore %0@" : : "a" (&nilstate));