亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fpplib.c

?? 大名鼎鼎的嵌入式操作系統(tǒng)vxworks的完整的源代碼
?? C
字號:
/* fppLib.c - floating-point coprocessor support library *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------03v,16oct01,hdn  made pTcb->pFpContext aligned at cache line boundary for SSE.03u,21aug01,hdn  added PENTIUM2/3/4 support03t,14mar99,jdi  doc: removed refs to config.h and/or configAll.h (SPR 25663).03s,17mar90,jmb  merge Mark Mason patch of 24oct96:  for SIMHPPA, save and                 restore fpp regs on VX_FP_TASK on both swap in and swap out.03r,10nov94,dvs  removed reference to fppLastTcb and changed name to 		 pLastLastFpTcb to deal with merge conflicts between 		 SPRs 1060 and 3033.03q,14oct94,ism  merged customer support fix for SPR#106003p,28jul94,dvs  moved pLastFpTcb (now called pTaskLastFpTcb) to taskLib and		 changed include of taskLib.h to private/taskLibP.h. (SPR #3033)03o,22oct93,jcf  eliminated MC68882 coprocessor violations.03n,02feb93,jdi  documentation cleanup for 5.1.03m,13nov92,jcf  removed extraneous logMsg's.03l,04jul92,jcf  extracted fppShow.03k,26jun92,jwt  cleaned up fppTaskRegsShow() display format.03j,05jun92,ajm  added fppDisplayHookRtn routine for mips arch, init hook		  routines to NULL03i,26may92,rrr  the tree shuffle03h,30mar92,yao  made fppRegsShow() in 80 columns per line.03g,20feb92,yao  added fppTaskRegsShow ().  added global variable		 pFppTaskIdPrevious. changed copyright notice. documentation.03f,04oct91,rrr  passed through the ansification filter		  -changed VOID to void		  -changed copyright notice03e,24oct90,jcf  lint.03d,10aug90,dnw  corrected forward declaration of fppCreateHook().03c,01aug90,jcf  Changed tcb fpContext to pFpContext.03b,26jun90,jcf  remove fppHook because taskOptionsSet of f-pt. not allowed.		 changed fppCreateHook to use taskStackAllot instead of malloc		 removed fppDeleteHook.03a,12mar90,jcf  changed fppSwitchHook into fppSwapHook.		 removed many (FP_CONTEXT *) casts.		 removed tcb extension dependencies.02l,07mar90,jdi  documentation cleanup.02k,09aug89,gae  changed iv68k.h to generic header.02j,14nov88,dnw  documentation.02i,29aug88,gae  documentation.02h,06jul88,jcf  fixed bug in fppTaskRegsSet introduced v02a.02g,22jun88,dnw  name tweaks.		 changed to add task switch hook when fppInit() is called,		   instead of first time fppCreateHook() is called.02f,30may88,dnw  changed to v4 names.02e,28may88,dnw  cleaned-up fppProbe.02d,29apr88,jcf  removed unnecessary intLock () within fppTaskSwitch().02c,31mar88,gae  fppProbe() now done in install routine fppInit() and		   hooks only added if true.02b,18mar88,gae  now supports both MC68881 & MC68882.02a,25jan88,jcf  make kernel independent.01e,20feb88,dnw  lint01d,05nov87,jlf  documentation01c,22oct87,gae  changed fppInit to use task create/delete facilities.	   +jcf  made fppExitTask ... use pTcb not pTcbX01b,28sep87,gae  removed extraneous logMsg's.01a,06aug87,gae  written/extracted from vxLib.c*//*DESCRIPTIONThis library provides a general interface to the floating-point coprocessor.To activate floating-point support, fppInit() must be called before anytasks using the coprocessor are spawned.  This is done automatically bythe root task, usrRoot(), in usrConfig.c when the configuration macroINCLUDE_HW_FP is defined.For information about architecture-dependent floating-point routines, seethe manual entry for fppArchLib.The fppShow() routine displays coprocessor registers on a per-task basis.For information on this facility, see the manual entries for fppShow andfppShow().VX_FP_TASK OPTIONSaving and restoring floating-point registers adds to the context switchtime of a task.  Therefore, floating-point registers are not savedand restored for every task.  Only those tasks spawned with the taskoption VX_FP_TASK will have floating-point registers saved and restored..RS 4 4\%NOTE:  If a task does any floating-point operations,it must be spawned with VX_FP_TASK..REINTERRUPT LEVELFloating-point registers are not saved and restored for interruptservice routines connected with intConnect().  However, if necessary,an interrupt service routine can save and restore floating-point registersby calling routines in fppArchLib.INCLUDE FILES: fppLib.hSEE ALSO: fppArchLib, fppShow, intConnect(),.pG "Basic OS"*/#include "vxWorks.h"#include "objLib.h"#include "private/taskLibP.h"#include "taskArchLib.h"#include "taskHookLib.h"#include "memLib.h"#include "stdio.h"#include "iv.h"#include "regs.h"#include "logLib.h"#include "fppLib.h"/* globals */WIND_TCB *	pFppTaskIdPrevious;	/* Task ID for deferred exceptions */FUNCPTR		fppCreateHookRtn;	/* arch dependent create hook routine */FUNCPTR		fppDisplayHookRtn;	/* arch dependent display routine *//* locals */#if	(CPU_FAMILY == I80X86)LOCAL FP_CONTEXT WRS_DATA_ALIGN_BYTES(_CACHE_ALIGN_SIZE) fppDummyContext =		 {{{0}}};		/* it must be in data section for now */#elseLOCAL FP_CONTEXT fppDummyContext;#endif	/* (CPU_FAMILY == I80X86) *//* forward declarations */LOCAL void fppCreateHook (WIND_TCB *pTcb);LOCAL void fppSwapHook (WIND_TCB *pOldTcb, WIND_TCB *pNewTcb);/********************************************************************************* fppInit - initialize floating-point coprocessor support** This routine initializes floating-point coprocessor support and must be* called before using the floating-point coprocessor.  This is done* automatically by the root task, usrRoot(), in usrConfig.c when the* configuration macro INCLUDE_HW_FP is defined.* * RETURNS: N/A*/void fppInit (void)    {    if (fppProbe() == OK)	{	taskCreateHookAdd ((FUNCPTR) fppCreateHook);	taskSwapHookAdd ((FUNCPTR) fppSwapHook);        fppArchInit ();	}    }/********************************************************************************* fppCreateHook - initialize floating-point coprocessor support for task** Carves a floating-point coprocessor context from the end of the stack.*/LOCAL void fppCreateHook    (    FAST WIND_TCB *pTcb		/* newly create task tcb */    )    {    /* check for option bit and presence of floating-point coprocessor */    if (pTcb->options & VX_FP_TASK)	{	/* allocate space for saving context and registers */#if	(CPU_FAMILY == I80X86)	/* SSE/SSE2 requires it aligned at 16 byte */	pTcb->pFpContext = (FP_CONTEXT *)	    taskStackAllot ((int) pTcb, sizeof (FP_CONTEXT) + _CACHE_ALIGN_SIZE);	if (pTcb->pFpContext == NULL)	    return;	pTcb->pFpContext = (FP_CONTEXT *)	    (((UINT32)pTcb->pFpContext + (_CACHE_ALIGN_SIZE - 1)) & 	     ~(_CACHE_ALIGN_SIZE - 1));#else	pTcb->pFpContext = (FP_CONTEXT *)	    taskStackAllot ((int) pTcb, sizeof (FP_CONTEXT));	if (pTcb->pFpContext == NULL)	    return;#endif	/* (CPU_FAMILY == I80X86) */#if (CPU==SIMHPPA)	taskSwapHookAttach ((FUNCPTR) fppSwapHook, (int) pTcb, TRUE, TRUE);#else	/* (CPU==SIMHPPA) */	taskSwapHookAttach ((FUNCPTR) fppSwapHook, (int) pTcb, TRUE, FALSE);#endif	/* (CPU==SIMHPPA) */	taskLock ();	fppArchTaskCreateInit (pTcb->pFpContext);	taskUnlock ();	if (fppCreateHookRtn != NULL)	    (*fppCreateHookRtn) (pTcb);	}    }/********************************************************************************* fppSwapHook - swap in task floating-point coprocessor registers** This routine is the task swap hook that implements the task floating-point* coprocessor registers facility.  It swaps the current and saved values of* all the task coprocessor registers of the last floating point task and the* in-coming floating point task.*/LOCAL void fppSwapHook    (    WIND_TCB *pOldTcb,      /* task tcb switching out */    FAST WIND_TCB *pNewTcb  /* task tcb switching in */    )    {#if (CPU==SIMHPPA)    /* save/restore fpp regs on both task swap in and swap out. */    if (pOldTcb->pFpContext)	{	pFppTaskIdPrevious = pOldTcb;	fppSave (pOldTcb->pFpContext);	}    else	fppSave (&fppDummyContext);     /* to avoid protocol errors */    if (pNewTcb->pFpContext)	{	pTaskLastFpTcb = pNewTcb;	fppRestore (pNewTcb->pFpContext);	}#elif	((CPU == PENTIUM) || (CPU == PENTIUM2) || (CPU == PENTIUM3) || \	 (CPU == PENTIUM4))    if (pTaskLastFpTcb == pNewTcb)	return;    /* save task coprocessor registers into last floating point task */    if (pTaskLastFpTcb != NULL)	{	pFppTaskIdPrevious = pTaskLastFpTcb;	(*_func_fppSaveRtn) (pTaskLastFpTcb->pFpContext);	}    else	(*_func_fppSaveRtn) (&fppDummyContext);	/* to avoid protocol errors */    /* restore task coprocessor registers of incoming task */    (*_func_fppRestoreRtn) (pNewTcb->pFpContext);    pTaskLastFpTcb = pNewTcb;#else	/* (CPU==SIMHPPA) */    if (pTaskLastFpTcb == pNewTcb)	return;    /* save task coprocessor registers into last floating point task */    if (pTaskLastFpTcb != NULL)	{	pFppTaskIdPrevious = pTaskLastFpTcb;	fppSave (pTaskLastFpTcb->pFpContext);	}    else	fppSave (&fppDummyContext);     /* to avoid protocol errors */    /* restore task coprocessor registers of incoming task */    fppRestore (pNewTcb->pFpContext);    pTaskLastFpTcb = pNewTcb;#endif /* (CPU==SIMHPPA) */    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产精品麻豆| 亚洲五码中文字幕| 国产片一区二区三区| 国产网红主播福利一区二区| 国产视频一区二区三区在线观看| 国产亚洲欧美日韩日本| 亚洲欧洲无码一区二区三区| 国产精品嫩草久久久久| 亚洲免费在线看| 日本成人在线视频网站| 国产伦理精品不卡| 91久久一区二区| 日韩一级大片在线| 国产精品久久久久影院色老大| 亚洲另类中文字| 国产又黄又大久久| 97se亚洲国产综合自在线不卡| 91黄视频在线观看| 久久综合丝袜日本网| 亚洲综合在线观看视频| 狠狠色丁香久久婷婷综合丁香| 99re成人在线| 久久亚洲一级片| 亚洲成人动漫在线免费观看| 国产精品自拍av| 91精品国产麻豆国产自产在线| 久久亚洲精品小早川怜子| 一区二区三区**美女毛片| 精品一区二区三区免费毛片爱| 色婷婷综合激情| 久久一区二区视频| 午夜电影网一区| 色婷婷亚洲综合| 成人免费一区二区三区在线观看| 视频一区视频二区中文| 91久久人澡人人添人人爽欧美 | 在线观看日韩毛片| 亚洲欧美日韩精品久久久久| 成人少妇影院yyyy| 国产欧美日韩精品一区| 国产主播一区二区三区| 日韩欧美久久一区| 奇米影视一区二区三区小说| 欧美日韩成人一区二区| 亚洲精品视频观看| 欧美伊人久久久久久久久影院| 中文字幕在线一区免费| 国产夫妻精品视频| 国产欧美日韩三区| 国产成人在线免费观看| 亚洲国产高清在线| 91原创在线视频| 一区二区三区四区亚洲| 欧美在线观看一二区| 午夜精品久久久久久不卡8050| 91啪在线观看| 亚洲成人免费影院| 欧美成人精品高清在线播放| 久久99精品久久久久久| 国产午夜久久久久| 欧洲一区二区三区免费视频| 偷拍日韩校园综合在线| 亚洲精品一区在线观看| 高清不卡在线观看av| 亚洲国产精品一区二区久久恐怖片| 在线视频欧美区| 久久国产三级精品| 国产精品久久久久久户外露出| 欧美亚洲一区二区三区四区| 日韩在线观看一区二区| 久久久久久久性| 欧美午夜寂寞影院| 国产在线国偷精品免费看| 国产精品久久夜| 欧美一区二区三区白人| 不卡一区在线观看| 午夜伦欧美伦电影理论片| 久久亚洲春色中文字幕久久久| 99re亚洲国产精品| 国产一区二区三区av电影| 一级女性全黄久久生活片免费| 日韩精品一区在线观看| 成人午夜精品在线| 久久99精品久久久| 亚洲一区二区三区视频在线| 国产欧美日韩激情| 日韩女优制服丝袜电影| 欧美在线视频日韩| 91香蕉视频mp4| 99视频在线精品| 国产91精品一区二区麻豆网站 | 成人一级视频在线观看| 激情综合色播激情啊| 亚洲一区二区av电影| 亚洲欧美日韩中文字幕一区二区三区| 欧美电视剧免费全集观看| 制服丝袜中文字幕一区| 欧美午夜影院一区| 欧美丝袜自拍制服另类| 精品国产精品一区二区夜夜嗨| 91网上在线视频| 一本到一区二区三区| av电影一区二区| 成人一区二区三区中文字幕| 久久久亚洲欧洲日产国码αv| 国内不卡的二区三区中文字幕| 久久影院午夜片一区| 日韩精品中午字幕| 久久久久久久久伊人| 欧美三区免费完整视频在线观看| 在线免费观看成人短视频| 91久久免费观看| 欧美妇女性影城| 日韩一区二区在线观看| 久久亚洲捆绑美女| 国产精品国产三级国产普通话99| 中文字幕亚洲在| 亚洲成人中文在线| 精品一区二区综合| www.久久久久久久久| 欧美性猛片xxxx免费看久爱| 欧美狂野另类xxxxoooo| 国产无人区一区二区三区| 亚洲欧洲日产国码二区| 日韩高清一区在线| 顶级嫩模精品视频在线看| 色综合久久天天| 日韩午夜激情视频| 亚洲视频在线一区| 秋霞午夜av一区二区三区| 国产不卡视频一区| 555夜色666亚洲国产免| 中文字幕+乱码+中文字幕一区| 亚洲韩国一区二区三区| 国产东北露脸精品视频| 91精品欧美综合在线观看最新| 国产精品麻豆一区二区| 日韩中文字幕亚洲一区二区va在线| 岛国精品一区二区| 精品美女一区二区三区| 一区二区三区丝袜| 国产ts人妖一区二区| 日韩亚洲欧美一区| 亚洲成人777| 欧美日韩www| 亚洲综合视频网| 99精品视频一区二区| 国产精品美女视频| 国产高清在线观看免费不卡| 日韩欧美成人激情| 免费的国产精品| 欧美一级欧美一级在线播放| 亚洲色图视频网| 色8久久人人97超碰香蕉987| 国产精品久久久久影院亚瑟 | 国产精品一级二级三级| 久久综合九色综合欧美亚洲| 麻豆传媒一区二区三区| 日韩久久久精品| 久久精品国产亚洲高清剧情介绍| 欧美一级生活片| 国产一区二区视频在线| 久久综合九色综合97婷婷女人| 国产酒店精品激情| 中文字幕乱码亚洲精品一区| 91在线精品秘密一区二区| 亚洲激情在线激情| 7878成人国产在线观看| 精品一二线国产| 亚洲同性同志一二三专区| 色先锋资源久久综合| 日韩电影在线一区二区| 欧美精品一区视频| 成人免费电影视频| 天堂在线亚洲视频| 2024国产精品视频| 91蝌蚪porny成人天涯| 日日噜噜夜夜狠狠视频欧美人| www一区二区| 欧美色男人天堂| 国产激情一区二区三区四区| 综合电影一区二区三区| 91精品国产福利在线观看| 成人性视频免费网站| 夜夜亚洲天天久久| 久久精品一二三| 欧美老年两性高潮| aaa欧美色吧激情视频| 日韩不卡在线观看日韩不卡视频| 欧美激情一二三区| 日韩亚洲欧美综合| 欧美日韩综合色| 成人99免费视频| 韩国v欧美v亚洲v日本v| 五月激情综合婷婷| 亚洲综合在线第一页| 136国产福利精品导航| 国产午夜精品理论片a级大结局| 91精品国产福利在线观看 | 91视视频在线观看入口直接观看www |