00001 /* 00002 * FPU support. 00003 * 00004 * Original RTAI/x86 layer implementation: 00005 * Copyright (c) 2000 Paolo Mantegazza (mantegazza@aero.polimi.it) 00006 * Copyright (c) 2000 Steve Papacharalambous (stevep@zentropix.com) 00007 * Copyright (c) 2000 Stuart Hughes 00008 * and others. 00009 * 00010 * RTAI/x86 rewrite over Adeos: 00011 * Copyright (c) 2002 Philippe Gerum (rpm@xenomai.org) 00012 * 00013 * Original RTAI/ARM RTHAL implementation: 00014 * Copyright (c) 2000 Pierre Cloutier (pcloutier@poseidoncontrols.com) 00015 * Copyright (c) 2001 Alex Züpke, SYSGO RTS GmbH (azu@sysgo.de) 00016 * Copyright (c) 2002 Guennadi Liakhovetski DSA GmbH (gl@dsa-ac.de) 00017 * Copyright (c) 2002 Steve Papacharalambous (stevep@zentropix.com) 00018 * Copyright (c) 2002 Wolfgang Müller (wolfgang.mueller@dsa-ac.de) 00019 * Copyright (c) 2003 Bernard Haible, Marconi Communications 00020 * Copyright (c) 2003 Thomas Gleixner (tglx@linutronix.de) 00021 * Copyright (c) 2003 Philippe Gerum (rpm@xenomai.org) 00022 * 00023 * RTAI/ARM over Adeos rewrite: 00024 * Copyright (c) 2004-2005 Michael Neuhauser, Firmix Software GmbH (mike@firmix.at) 00025 * 00026 * RTAI/ARM over Adeos rewrite for PXA255_2.6.7: 00027 * Copyright (c) 2005 Stefano Gafforelli (stefano.gafforelli@tiscali.it) 00028 * Copyright (c) 2005 Luca Pizzi (lucapizzi@hotmail.com) 00029 * 00030 * This program is free software; you can redistribute it and/or modify it under 00031 * the terms of the GNU General Public License as published by the Free Software 00032 * Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, USA; either version 2 of 00033 * the License, or (at your option) any later version. 00034 * 00035 * This program is distributed in the hope that it will be useful, but WITHOUT 00036 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00037 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00038 * details. 00039 * 00040 * You should have received a copy of the GNU General Public License along with 00041 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00042 * Place - Suite 330, Boston, MA 02111-1307, USA. 00043 */ 00044 #ifndef _RTAI_ASM_M68KNOMMU_FPU_H 00045 #define _RTAI_ASM_M68KNOMMU_FPU_H 00046 00047 #ifdef CONFIG_RTAI_FPU_SUPPORT 00048 #error "Sorry, there is no FPU support in RTAI for M68KNOMMU (you don't need it for soft-float or FPU-emulation)" 00049 #endif 00050 00051 /* All the work is done by the soft-float library or the kernel FPU emulator. */ 00052 00053 00054 #define init_fpu(tsk) do { /* nop */ } while (0) 00055 #define restore_fpu(tsk) do { /* nop */ } while (0) 00056 #define save_cr0_and_clts(x) do { /* nop */ } while (0) 00057 #define restore_cr0(x) do { /* nop */ } while (0) 00058 #define enable_fpu() do { /* nop */ } while (0) 00059 #define load_mxcsr(val) do { /* nop */ } while (0) 00060 #define init_xfpu() do { /* nop */ } while (0) 00061 #define save_fpenv(x) do { /* nop */ } while (0) 00062 #define restore_fpenv(x) do { /* nop */ } while (0) 00063 #define restore_task_fpenv(t) do { /* nop */ } while (0) 00064 #define restore_fpenv_lxrt(t) do { /* nop */ } while (0) 00065 00066 /* Nothing to do in m68knomu */ 00067 #define save_fpcr_and_enable_fpu(fpcr) do { /* nop */ } while (0) 00068 #define restore_fpcr(fpcr) do { /* nop */ } while (0) 00069 #define init_hard_fpenv() do { /* nop */ } while (0) 00070 #define init_fpenv(fpenv) do { /* nop */ } while (0) 00071 #define init_hard_fpu(lnxtsk) do { /* nop */ } while (0) 00072 00073 typedef struct m68k_fpu_env { unsigned long fpu_reg[1]; } FPU_ENV; 00074 00075 //Looks like we don't need it 00076 /*#define set_tsk_used_fpu(t) \ 00077 do { (t)->flags |= TIF_USED_FPU; } while (0)*/ 00078 00079 //We do nothing 00080 #define set_lnxtsk_uses_fpu(lnxtsk) do { /* nop */ } while (0) 00081 #define clear_lnxtsk_uses_fpu(lnxtsk) do { /* nop */ } while (0) 00082 #define lnxtsk_uses_fpu(lnxtsk) (0) 00083 00084 #endif /* _RTAI_ASM_M68KNOMMU_FPU_H */