--- 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)); /* reads from user space */ set_fs(USER_DS);