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

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

?? fpplib.c

?? 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一区二区三区免费野_久草精品视频
九九精品视频在线看| 亚洲一区二区欧美| 亚洲精品高清在线| 麻豆freexxxx性91精品| 91同城在线观看| 26uuu亚洲综合色| 亚洲与欧洲av电影| 成人午夜大片免费观看| 91精品中文字幕一区二区三区| 国产日韩精品一区| 欧美bbbbb| 欧美日韩一区久久| 亚洲欧美视频在线观看视频| 激情伊人五月天久久综合| 在线精品亚洲一区二区不卡| 中文字幕欧美日韩一区| 精品影视av免费| 91精品一区二区三区久久久久久 | 亚洲在线免费播放| 成人激情黄色小说| 久久久久久99久久久精品网站| 一区二区三区日韩在线观看| 成人爱爱电影网址| 欧美国产激情一区二区三区蜜月 | 日韩欧美一区在线| 偷拍与自拍一区| 欧美亚洲国产一区二区三区va| 中文字幕成人网| 国产成人综合在线观看| 精品99久久久久久| 狠狠狠色丁香婷婷综合激情| 日韩三级免费观看| 久久av中文字幕片| 亚洲精品在线三区| 国内一区二区在线| 久久色中文字幕| 国产精品18久久久久久久网站| 欧美videossexotv100| 麻豆国产91在线播放| 久久综合久久综合久久综合| 九九**精品视频免费播放| 精品日韩成人av| 国产精品91xxx| 中文字幕亚洲一区二区va在线| 不卡一区二区三区四区| 亚洲视频免费在线观看| 在线观看日韩电影| 青青草伊人久久| 精品国产青草久久久久福利| 激情久久五月天| 欧美韩日一区二区三区| 色美美综合视频| 午夜精品久久久久久不卡8050| 91麻豆精品久久久久蜜臀| 韩国v欧美v日本v亚洲v| 亚洲欧洲精品一区二区精品久久久 | 天天综合天天综合色| 5858s免费视频成人| 精品综合久久久久久8888| 久久久不卡网国产精品一区| 9人人澡人人爽人人精品| 亚洲免费观看高清完整版在线观看 | 丁香婷婷综合激情五月色| 国产精品久久三区| 欧美艳星brazzers| 黄网站免费久久| 亚洲乱码国产乱码精品精小说| 欧美日韩久久久| 国产一区高清在线| 亚洲精品国产精华液| 日韩免费电影一区| av激情亚洲男人天堂| 亚洲bt欧美bt精品777| 久久久久久久久99精品| 在线视频你懂得一区| 美女www一区二区| 久久在线免费观看| 国产河南妇女毛片精品久久久| 欧美精品v国产精品v日韩精品 | 国产成人av在线影院| 一卡二卡三卡日韩欧美| 欧美变态tickling挠脚心| 91网上在线视频| 国产真实精品久久二三区| 亚洲尤物在线视频观看| 国产日韩欧美亚洲| 555夜色666亚洲国产免| 成人亚洲一区二区一| 奇米影视一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 亚洲欧美色图小说| 久久综合九色综合97婷婷女人| 一区二区三区欧美日| 欧美一区二区精品久久911| 美女视频免费一区| 久久福利视频一区二区| 亚洲欧美综合网| 日韩精品一区国产麻豆| 欧美在线视频全部完| 国产 日韩 欧美大片| 九色porny丨国产精品| 污片在线观看一区二区| 一区二区三区久久久| 17c精品麻豆一区二区免费| 久久精品视频一区二区三区| 日韩一区二区在线观看| 911精品产国品一二三产区| 97se亚洲国产综合自在线不卡| 国产91对白在线观看九色| 久久疯狂做爰流白浆xx| 精品在线播放午夜| 精品一区二区三区免费视频| 蜜桃在线一区二区三区| 免费观看一级欧美片| 日韩高清一区在线| 五月婷婷综合网| 久久精品国产99国产精品| 亚洲成精国产精品女| 日韩午夜在线观看视频| 高清国产午夜精品久久久久久| 香蕉影视欧美成人| 亚洲色图欧洲色图| 1024成人网色www| 亚洲女爱视频在线| 一区二区三区四区国产精品| 亚洲天堂成人在线观看| 亚洲精品中文在线| 亚洲自拍偷拍网站| 视频一区免费在线观看| 免费的国产精品| 国产一区二区三区四| 粉嫩久久99精品久久久久久夜| 丰满亚洲少妇av| 91啪在线观看| 欧美色偷偷大香| 欧美一级生活片| 国产亚洲福利社区一区| 中文字幕一区二区三区乱码在线| 亚洲欧洲制服丝袜| 午夜一区二区三区视频| 亚洲第一激情av| 蜜桃一区二区三区在线| 一区二区三区精密机械公司| 成人精品电影在线观看| 亚洲va欧美va天堂v国产综合| 亚洲大片在线观看| 免费成人在线观看视频| 国产精品一二三四五| 成人av网站免费观看| 欧美日韩精品三区| 欧美电视剧免费观看| 国产精品美女视频| 亚洲国产欧美在线人成| 精品一区二区三区久久| 91亚洲精品一区二区乱码| 7777精品伊人久久久大香线蕉完整版 | 九九九久久久精品| 91在线免费看| 欧美一区二区三区免费大片 | 亚洲精品一二三| 亚洲婷婷在线视频| 国产精品456| 欧美xxxxxxxxx| 亚洲成国产人片在线观看| 91精品福利在线| 国产女主播在线一区二区| 精品精品欲导航| 91免费在线播放| 欧美一区二区三区免费大片| 国产精品夫妻自拍| 久色婷婷小香蕉久久| 91九色02白丝porn| 久久久久久久久一| 手机精品视频在线观看| 一本一道综合狠狠老| 精品久久一区二区| 亚洲观看高清完整版在线观看| 国产mv日韩mv欧美| 日韩精品一区国产麻豆| 午夜国产精品一区| 成人免费av网站| 亚洲一二三区不卡| 亚洲高清免费一级二级三级| 成人午夜免费av| 久久久久国产精品麻豆ai换脸| 日本最新不卡在线| 欧美综合亚洲图片综合区| 中文字幕视频一区二区三区久| 韩国欧美国产1区| 日韩欧美色电影| 日韩国产精品久久久久久亚洲| 在线国产亚洲欧美| 最新日韩av在线| 成人动漫视频在线| 国产婷婷色一区二区三区四区| 久久国产精品区| 精品少妇一区二区三区免费观看| 热久久久久久久| 欧美一区二区三区在线| 人人精品人人爱|