wdbfplib.c

来自「vxworks源码源码解读是学习vxworks的最佳途径」· C语言 代码 · 共 96 行

C
96
字号
/* wdbFpLib.c - floating point register support for the external WDB agent *//* Copyright 1984-1996 Wind River Systems, Inc. *//*modification history--------------------01c,17dec96,ms  WDB now uses FP_CONTEXT instead of FPREG_SET (SPR 7654).01b,23jan96,tpr added cast to compile with Diab Data tools.01a,25may95,ms  written.*//*DESCPRIPTIONThis library contains routines to save, restore, get, andset the floating point registers. These operations arenot task-specific.*/#include "wdb/wdbRegs.h"#include "string.h"static struct    {    WDB_REG_SET_OBJ	regSet;		/* generic register set */    WDB_FPU_REGS	fpContext;	/* the hardware context */    } fpRegSetObj;/******************************************************************************** wdbFppSave - save the floating point registers.*/ void wdbFppSave (void)    {    fppSave (&fpRegSetObj.fpContext);    }/******************************************************************************** wdbFppRestore - restore the previously saved float regs.*/ void wdbFppRestore (void)    {    fppRestore (&fpRegSetObj.fpContext);    }/******************************************************************************** wdbFppGet - get a pointer to the fpp reg block.*/ void wdbFppGet    (    void ** ppRegs    )    {    *ppRegs = (void *)&fpRegSetObj.fpContext;    }/******************************************************************************** wdbFppSet - set the floating point reg block.*/ void wdbFppSet    (    void * pRegs    )    {    bcopy ((char *)pRegs, (char *)&fpRegSetObj.fpContext, sizeof (FP_CONTEXT));    }/******************************************************************************** wdbFpObjInit - initialize a WDB_REG_SET_OBJ representing float regs.** RETURNS: a pointer to a WDB_REG_SET_OBJ*/ WDB_REG_SET_OBJ * wdbFpLibInit (void)    {    WDB_REG_SET_OBJ * pRegSet = &fpRegSetObj.regSet;    pRegSet->regSetType	= WDB_REG_SET_FPU;    pRegSet->save	= wdbFppSave;    pRegSet->load	= wdbFppRestore;    pRegSet->get	= (void (*) (char **)) wdbFppGet;    pRegSet->set	= (void (*) (char *))  wdbFppSet;    fppSave (&fpRegSetObj.fpContext);    return (pRegSet);    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?