Files
vxWorks/h/fppLib.h
2025-08-20 18:25:46 +08:00

123 lines
3.5 KiB
C

/* fppLib.h - floating-point coprocessor support library header */
/*
* Copyright (c) 1984-2005 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
02f,19apr05,dr Cleanup
02e,17apr03,dbt Added SIMLINUX support.
02d,22oct01,dee Merge from T2.1.0 ColdFire
02c,01mar00,frf Add SH4 support for T2.
02b,23apr97,hk added SH support.
02b,15aug97,cym added SIMNT support.
02b,28nov96,cdp added ARM support.
02a,26may94,yao added PPC support.
01u.26may95,ms added prototypes for fppRegsToCtx and fppCtxToRegs.
01u,12jul95,ism added simsolaris support
01t,19mar95,dvs removed #ifdef TRON - tron no longer supported.
01s,02dec93,pme added Am29K family support
01r,11aug93,gae vxsim hppa.
01q,20jun93,gae vxsim.
01p,09jun93,hdn added support for I80X86
01o,22sep92,rrr added support for c++
01n,19sep92,jcf ifdef _ASMLANGUAGE of taskLib.h
01m,19sep92,smb added include of taskLib.h
01l,04jul92,jcf cleaned up.
01k,26may92,rrr the tree shuffle
-changed includes to have absolute path from h/
01j,20feb92,yao changed ANSI function propotype declaration for
fppTaskRegs{S,G}et() and removed CPU_FAMILY conditionals.
01i,09jan92,jwt converted CPU==SPARC to CPU_FAMILY==SPARC.
01h,01nov91,wmd modified prototype of fpregs in fppTaskRegsGet() to be double.
01g,04oct91,rrr passed through the ansification filter
-fixed #else and #endif
-changed VOID to void
-changed ASMLANGUAGE to _ASMLANGUAGE
-changed copyright notice
01f,20aug91,ajm added MIPS support.
01e,14aug91,del added include for I960KB support.
01d,19jul91,gae renamed architecture specific include file to be xx<arch>.h.
01c,29apr91,hdn added defines and macros for TRON architecture.
01b,05oct90,shl added copyright notice.
made #endif ANSI style.
01a,07aug89,gae written.
*/
#ifndef __INCfppLibh
#define __INCfppLibh
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ASMLANGUAGE
#include "taskLib.h"
#endif /* _ASMLANGUAGE */
#if CPU_FAMILY==COLDFIRE
#include "arch/coldfire/fppColdfireLib.h"
#endif /* CPU==COLDFIRE */
#if CPU_FAMILY==MIPS
#include "arch/mips/fppMipsLib.h"
#endif /* MIPS */
#if CPU_FAMILY==PPC
#include "arch/ppc/fppPpcLib.h"
#endif /* CPU_FAMILY==PPC */
#if CPU_FAMILY==SIMSPARCSOLARIS
#include "arch/simsolaris/fppSimsolarisLib.h"
#endif /* CPU_FAMILY==SIMSPARCSOLARIS */
#if CPU_FAMILY==SIMNT
#include "arch/simnt/fppSimntLib.h"
#endif /* CPU_FAMILY==SIMNT */
#if CPU_FAMILY==SIMLINUX
#include "arch/simlinux/fppSimlinuxLib.h"
#endif /* CPU_FAMILY==SIMLINUX */
#if CPU_FAMILY==I80X86
#include "arch/i86/fppI86Lib.h"
#endif /* CPU_FAMILY==I80X86 */
#if CPU_FAMILY==SH
#include "arch/sh/fppShLib.h"
#endif /* CPU_FAMILY==SH */
#if CPU_FAMILY==ARM
#include "arch/arm/fppArmLib.h"
#endif /* CPU_FAMILY==ARM */
/* function declarations */
#ifndef _ASMLANGUAGE
extern void fppInit (void);
extern void fppShowInit (void);
extern void fppTaskRegsShow (int task);
extern STATUS fppTaskRegsGet (int task, FPREG_SET *pFpRegSet);
extern STATUS fppTaskRegsSet (int task, FPREG_SET *pFpRegSet);
extern STATUS fppProbe (void);
extern void fppRestore (FP_CONTEXT *pFpContext);
extern void fppSave (FP_CONTEXT *pFpContext);
extern void fppRegsToCtx (FPREG_SET *pFpRegSet, FP_CONTEXT *pFpContext);
extern void fppCtxToRegs (FP_CONTEXT *pFpContext, FPREG_SET *pFpRegSet);
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCfppLibh */