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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fpplib.c

?? VxWorks操作系統(tǒng)內(nèi)核源代碼
?? 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) */    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品视频一区| 亚洲色图第一区| 91首页免费视频| 免费成人av在线播放| 国产精品久久久久久妇女6080| 欧美另类高清zo欧美| 99久久久久久| 国产精品99久久久久久有的能看| 三级欧美在线一区| 国产精品福利一区| 欧美精品一区二区三区四区| 在线观看视频91| jizzjizzjizz欧美| 国产一区二区三区四区五区美女 | 欧美成人激情免费网| 色综合亚洲欧洲| 国产成人在线免费观看| 久久99热99| 日韩经典一区二区| 亚洲一区中文在线| 日本一区二区成人| 久久久久久久久久久99999| 777奇米四色成人影色区| 色综合久久综合| 不卡在线视频中文字幕| 国产精品99久| 国产成人精品免费视频网站| 经典一区二区三区| 麻豆freexxxx性91精品| 日本亚洲免费观看| 天堂va蜜桃一区二区三区| 亚洲va欧美va人人爽| 亚洲综合一区二区三区| 一区二区三区精品在线观看| 亚洲日穴在线视频| 中文字幕一区二区三| 中文在线一区二区| 中文字幕第一区二区| 亚洲国产激情av| 国产精品国产精品国产专区不片| 国产精品女主播在线观看| 国产精品麻豆视频| 综合久久一区二区三区| 亚洲欧美韩国综合色| 亚洲乱码中文字幕综合| 一区二区三区产品免费精品久久75| 亚洲日本护士毛茸茸| 亚洲精品免费播放| 午夜精品视频一区| 美女www一区二区| 国产乱码精品一区二区三区av| 成人一区在线观看| 一本一道久久a久久精品综合蜜臀| 欧洲精品在线观看| 69堂亚洲精品首页| 精品国产免费久久| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美一区二视频| 久久综合九色综合久久久精品综合 | 亚洲高清不卡在线观看| 三级在线观看一区二区| 国产在线精品一区在线观看麻豆| 国产麻豆视频一区二区| 91蜜桃在线免费视频| 欧美日韩在线播放三区| 日韩精品一区二区三区四区 | 91精品办公室少妇高潮对白| 欧美日韩国产123区| 精品久久久久久久久久久院品网| 国产午夜精品一区二区三区四区| **欧美大码日韩| 午夜电影久久久| 国产一区二区三区四区在线观看| caoporn国产精品| 正在播放亚洲一区| 久久久精品综合| 一二三四区精品视频| 久久99精品国产.久久久久久 | 日韩成人av影视| 成人毛片视频在线观看| 欧美午夜一区二区三区| 久久亚洲二区三区| 亚洲欧美日韩国产综合在线| 秋霞午夜鲁丝一区二区老狼| 成人av电影在线观看| 欧美一区二区福利视频| 成人免费视频在线观看| 麻豆精品久久久| 色爱区综合激月婷婷| 精品乱人伦一区二区三区| 亚洲欧美日韩一区| 图片区小说区区亚洲影院| 懂色av一区二区在线播放| 欧美日韩1区2区| 国产精品欧美久久久久无广告| 午夜a成v人精品| av电影在线观看完整版一区二区| 91精品国产综合久久小美女| 亚洲欧洲av另类| 精品一区二区三区免费视频| 欧美三级在线视频| 中文字幕一区免费在线观看 | 色综合天天综合网国产成人综合天 | 国内不卡的二区三区中文字幕| 色域天天综合网| 日本一二三四高清不卡| 久久精品理论片| 欧美日韩一级黄| 亚洲丝袜自拍清纯另类| 国产成人亚洲精品青草天美| 欧美精品丝袜久久久中文字幕| 中文字幕在线不卡| 国产一区二区三区四| 日韩欧美国产成人一区二区| 亚洲一区视频在线| 色妹子一区二区| 中文字幕亚洲综合久久菠萝蜜| 韩国v欧美v亚洲v日本v| 日韩一区二区精品在线观看| 亚洲午夜精品网| 在线免费观看视频一区| 亚洲欧美在线视频观看| 丁香婷婷深情五月亚洲| 精品福利av导航| 久久91精品久久久久久秒播| 欧美一级欧美三级| 日韩av午夜在线观看| 欧美美女视频在线观看| 亚洲午夜电影网| 在线免费av一区| 亚洲精品高清视频在线观看| 91麻豆文化传媒在线观看| 国产精品久久久久久久岛一牛影视| 国产成人精品一区二| 久久久www成人免费无遮挡大片 | 美国欧美日韩国产在线播放| 欧美福利视频一区| 日韩国产欧美一区二区三区| 欧美卡1卡2卡| 天天综合日日夜夜精品| 538在线一区二区精品国产| 日韩精品一级中文字幕精品视频免费观看| 欧洲国产伦久久久久久久| 亚洲一级二级三级在线免费观看| 91激情在线视频| 亚洲成人免费观看| 宅男噜噜噜66一区二区66| 久久精品国产精品亚洲综合| 精品国产sm最大网站免费看| 国产精品综合一区二区| 国产精品毛片无遮挡高清| 不卡一区二区中文字幕| 亚洲摸摸操操av| 欧美视频一区二| 捆绑调教美女网站视频一区| 久久精品欧美日韩精品| 91视频.com| 五月天一区二区| 欧美精品一区二区蜜臀亚洲| 国产成人免费视频一区| 亚洲激情五月婷婷| 欧美日韩免费一区二区三区 | 久久综合九色综合欧美98| 成人精品高清在线| 亚洲一区二区三区视频在线| 日韩欧美国产成人一区二区| 成人动漫av在线| 天堂久久一区二区三区| 久久久精品国产99久久精品芒果 | 91精品国产色综合久久ai换脸| 国内精品免费在线观看| 中文字幕在线观看一区二区| 欧美日韩大陆一区二区| 国产一区亚洲一区| 樱花草国产18久久久久| 精品久久久三级丝袜| 91丨porny丨首页| 美女脱光内衣内裤视频久久网站 | 欧美片网站yy| 国产黄色精品视频| 一二三区精品视频| 久久精品人人做| 欧美日韩mp4| 亚洲123区在线观看| 国产不卡视频在线观看| 日韩久久免费av| 久久久蜜桃精品| 亚洲一区在线免费观看| 成年人国产精品| 日韩欧美国产不卡| 亚洲欧美视频在线观看视频| 国产一区二区三区在线观看免费 | 美女网站色91| 国产成人免费在线视频| 成人一级视频在线观看| 91尤物视频在线观看| 丁香婷婷综合激情五月色| 日韩视频一区二区三区在线播放| 精品国产污网站| 国内偷窥港台综合视频在线播放|