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

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

?? taskshow.c

?? vxworks 5.5 kernel code
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* taskShow.c - task show routines *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02f,04sep02,dtr  Adding support for SPE.02e,27mar02,pai  Added code to display Streaming SIMD Registers (SPR 74103).02d,16oct01,jn   use symFindSymbol for symbol lookup (SPR #7453)02c,19nov01,aeg  added display of VxWorks events information.02b,09nov01,dee  add CPU_FAMILY==COLDFIRE02a,11oct01,cjj  removed Am29k support01z,13jul01,kab  Cleanup for merge to mainline01y,03apr01,kab  Added _WRS_ALTIVEC_SUPPORT01x,14mar01,pcs  Added code to recognize VX_ALTIVEC_TASK.01w,18dec00,pes  Correct compiler warnings01w,03mar00,zl   merged SH support into T201v,17mar99,jdi  doc: updated w/ info about proj facility (SPR 25727).01u,29jul96,jmb  Merged patch from ease (mem) for HPSIM01t,24jun96,sbs  made windview instrumentation conditionally compiled01s,06oct95,jdi  changed Debugging .pG's to .tG "Shell".01r,14mar95,jdi  doc tweak for taskShow().01q,11feb95,jdi  format repairs.01p,04feb94,cd   taskRegsShow calls taskArchRegsShow for CPU_FAMILY==MIPS		 retrofitted 01o history01o,27dec93,cd   taskShow calls taskArchRegsShow for CPU_FAMILY==MIPS01o,02dec93,pad  added AM29XXX family support.01q,20jul94,ms   added taskRegShow() hook.01p,03may94,ms   fixed low order PC bits in taskShow for VxSim HP01o,20aug93,gae  fixed pcReg definition for vxsim on hppa.01o,20sep94,rhp  doc: describe fields in taskShow() TCB display,                 result of taskStatusString() (SPR#2394).01o,16jan94,c_s  taskShowInit () now initializes instrumented class.01n,25feb93,jdi  doc: fixed example output of taskShow().01m,04feb93,jdi  fixed mangen problem in taskShow().01l,03feb93,jdi  amended library description.01k,03feb93,jdi  changed INCLUDE_SHOW_RTNS to ...ROUTINES.01j,02feb93,jdi  documentation tweak.01i,25nov92,jdi  documentation cleanup.01h,19aug92,smb  another tweak to the printf formatting.01g,02aug92,jcf  added parameter to _func_excInfoShow.01f,30jul92,smb  changed format for printf to avoid zero padding.01e,28jul92,jcf  changed taskShowInit to call taskLibInit.01d,27jul92,jcf  included errnoLib.h.01c,12jul92,jcf  tuned register format string.01b,08jul92,jwt  modified taskRegsFmt for CPU_FAMILY == SPARC.01a,15jun92,jcf  extracted from v1k taskLib.c.*//*DESCRIPTIONThis library provides routines to show task-related information,such as register values, task status, etc.The taskShowInit() routine links the task show facility into the VxWorkssystem.  It is called automatically when this show facility is configuredinto VxWorks using either of the following methods:.iPIf you use the configuration header files, defineINCLUDE_SHOW_ROUTINES in config.h..iPIf you use the Tornado project facility, select INCLUDE_TASK_SHOW..LPTask information is crucial as a debugging aid and user-interfaceconvenience during the development cycle of an application.  The routinestaskInfoGet(), taskShow(), taskRegsShow(), and taskStatusString() are usedto display task information.The chief drawback of using task information is that tasks maychange their state between the time the information is gathered and thetime it is utilized.  Information provided by these routines shouldtherefore be viewed as a snapshot of the system, and not relied uponunless the task is consigned to a known state, such as suspended.Task management and control routines are provided by taskLib.  Programmaticaccess to task information and debugging features is provided by taskInfo.INCLUDE FILES: taskLib.hSEE ALSO: taskLib, taskInfo, taskHookLib, taskVarLib, semLib, kernelLib,.pG "Basic OS, Target Shell,".tG "Shell"*/#include "vxWorks.h"#include "string.h"#include "regs.h"#include "stdio.h"#include "a_out.h"#include "sysSymTbl.h"#include "errnoLib.h"#include "taskArchLib.h"#include "intLib.h"			/* intLock/intUnlock */#include "private/funcBindP.h"#include "private/taskLibP.h"#include "private/kernelLibP.h"#include "private/eventLibP.h"		/* eventTaskShow () */#define MAX_DSP_TASKS	500		/* max tasks that can be displayed *//* globals */char *taskRegsFmt = "%-6s = %8x";VOIDFUNCPTR _func_taskRegsShowRtn;/* locals */LOCAL char infoHdr [] = "\n\  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY\n\---------- ------------ -------- --- ---------- -------- -------- ------- -----\n";/* forward declarations */LOCAL void taskSummary (TASK_DESC *pTd);#if (CPU_FAMILY==MIPS || CPU_FAMILY==COLDFIRE)IMPORT void taskArchRegsShow(REG_SET *pRegSet);#endif /* (CPU_FAMILY==MIPS) *//******************************************************************************** taskShowInit - initialize the task show routine facility** This routine links the task show routines into the VxWorks system.* It is called automatically when the task show facility is* configured into VxWorks using either of the following methods:* .iP* If you use the configuration header files, define* INCLUDE_SHOW_ROUTINES in config.h.* .iP* If you use the Tornado project facility, select INCLUDE_TASK_SHOW.** RETURNS: N/A*/void taskShowInit (void)    {    if (taskLibInit () == OK)	{ classShowConnect (taskClassId, (FUNCPTR)taskShow);#ifdef WV_INSTRUMENTATION	classShowConnect (taskInstClassId, (FUNCPTR)taskShow);#endif	}    }/********************************************************************************* taskInfoGet - get information about a task** This routine fills in a specified task descriptor (TASK_DESC) for a* specified task.  The information in the task descriptor is, for the most* part, a copy of information kept in the task control block (WIND_TCB).* The TASK_DESC structure is useful for common information and avoids* dealing directly with the unwieldy WIND_TCB.** NOTE* Examination of WIND_TCBs should be restricted to debugging aids.** RETURNS: OK, or ERROR if the task ID is invalid.*/STATUS taskInfoGet    (    int         tid,            /* ID of task for which to get info */    TASK_DESC   *pTaskDesc      /* task descriptor to be filled in */    )    {    int 	    key;    FAST char	   *pStackHigh;    FAST TASK_DESC *pTd  = pTaskDesc;    WIND_TCB 	   *pTcb = taskTcb (tid);    if (pTcb == NULL)				/* valid task ID? */	return (ERROR);    /* gather the information */#if CPU_FAMILY==I960    if (tid != taskIdSelf ())	/* showing our current sp is not possible */	taskRegsStackToTcb (pTcb);#endif	/* CPU_FAMILY==I960 */    pTd->td_id		= (int) pTcb;			/* task ID */    pTd->td_name	= pTcb->name;			/* name of task */    pTd->td_priority	= (int) pTcb->priority; 	/* priority */    pTd->td_status	= pTcb->status;			/* task status*/    pTd->td_options	= pTcb->options;		/* task option bits */    pTd->td_entry	= pTcb->entry;			/* entry of task */    pTd->td_sp		= (char *)((int)pTcb->regs.spReg);	/* saved stack ptr */    pTd->td_pStackLimit	= pTcb->pStackLimit;		/* limit of stack */    pTd->td_pStackBase	= pTcb->pStackBase;		/* bottom of stack */    pTd->td_pStackEnd	= pTcb->pStackEnd;		/* end of the stack */#if (_STACK_DIR==_STACK_GROWS_DOWN)    if (pTcb->options & VX_NO_STACK_FILL)	pStackHigh = pTcb->pStackLimit;    else	for (pStackHigh = pTcb->pStackLimit;	     *(UINT8 *)pStackHigh == 0xee; pStackHigh ++)	    ;#else 	/* _STACK_GROWS_UP */    if (pTcb->options & VX_NO_STACK_FILL)	pStackHigh = pTcb->pStackLimit - 1;    else	for (pStackHigh = pTcb->pStackLimit - 1;	     *(UINT8 *)pStackHigh == 0xee; pStackHigh --)	    ;#endif 	/* _STACK_GROWS_UP */    pTd->td_stackSize   = (int)(pTcb->pStackLimit - pTcb->pStackBase) *			  _STACK_DIR;    pTd->td_stackHigh	= (int)(pStackHigh - pTcb->pStackBase) * _STACK_DIR;    pTd->td_stackMargin	= (int)(pTcb->pStackLimit - pStackHigh) * _STACK_DIR;    pTd->td_stackCurrent= (int)(pTd->td_sp - pTcb->pStackBase) * _STACK_DIR;    pTd->td_errorStatus	= errnoOfTaskGet (tid);		/* most recent error */    /* if task is delayed, get the time to fire out of the task's tick node */    if (pTcb->status & WIND_DELAY)	pTd->td_delay = Q_KEY (&tickQHead, &pTcb->tickNode, 1);    else	pTd->td_delay = 0;			/* not delayed */    /* copy the VxWorks events information */    key = intLock ();    pTd->td_events = pTcb->events;    intUnlock (key);    return (OK);    }/********************************************************************************* taskShow - display task information from TCBs** This routine displays the contents of a task control block (TCB)* for a specified task.  If <level> is 1, it also displays task options* and registers.  If <level> is 2, it displays all tasks.** The TCB display contains the following fields:** .TS* tab(|);* lf3 lf3* l l .* Field  | Meaning* _* NAME   | Task name* ENTRY  | Symbol name or address where task began execution* TID    | Task ID* PRI    | Priority* STATUS | Task status, as formatted by taskStatusString()* PC     | Program counter* SP     | Stack pointer* ERRNO  | Most recent error code for this task* DELAY  | If task is delayed, number of clock ticks remaining in delay (0 otherwise)* .TE** EXAMPLE:* The following example shows the TCB contents for the shell task:* .CS*   -> taskShow tShell, 1* *     NAME        ENTRY    TID    PRI  STATUS      PC       SP    ERRNO  DELAY*   ---------- --------- -------- --- --------- -------- -------- ------ -----*   tShell     _shell     20efcac   1 READY      201dc90  20ef980      0     0* *   stack: base 0x20efcac  end 0x20ed59c  size 9532   high 1452   margin 8080* *   options: 0x1e*   VX_UNBREAKABLE      VX_DEALLOC_STACK    VX_FP_TASK         VX_STDIO**   VxWorks Events*   --------------*   Events Pended on    : Not Pended*   Received Events     : 0x0*   Options             : N/A* 			* *   D0 =       0   D4 =       0   A0 =       0   A4 =        0*   D1 =       0   D5 =       0   A1 =       0   A5 =  203a084   SR =     3000*   D2 =       0   D6 =       0   A2 =       0   A6 =  20ef9a0   PC =  2038614*   D3 =       0   D7 =       0   A3 =       0   A7 =  20ef980*   value = 34536868 = 0x20efda4* .CE** RETURNS: N/A** SEE ALSO:* taskStatusString(),* .pG "Target Shell,"* windsh,* .tG "Shell"*/STATUS taskShow    (    int tid,		/* task ID */    int level		/* 0 = summary, 1 = details, 2 = all tasks */    )    {    FAST int	nTasks;			/* number of task */    FAST int	ix;			/* index */    TASK_DESC	td;			/* task descriptor for task info */    WIND_TCB *	pTcb;			/* pointer to tasks tcb */    int		idList[MAX_DSP_TASKS];	/* list of active IDs */    char	optionsString[256];	/* task options string */    tid = taskIdDefault (tid);				/* get default task */    switch (level)	{	case 0 :					/* summarize a task */	    {	    if (taskInfoGet (tid, &td) != OK)		{		printErr ("Task not found.\n");		return (ERROR);		}	    printf (infoHdr);	    taskSummary (&td);	    break;	    }	case 1 :					/* get task detail */	    {	    if (taskInfoGet (tid, &td) != OK)		{		printErr ("Task not found.\n");		return (ERROR);		}	    taskOptionsString (tid, optionsString);	/* get options string */	    /* Print the summary as in all_task_info, then all the regs. */	    printf (infoHdr);				/* banner */	    taskSummary (&td);	    printf ("\nstack: base 0x%-6x  end 0x%-6x  size %-5d  ",		    (int)td.td_pStackBase, (int)td.td_pStackEnd,		    td.td_stackSize);	    if (td.td_options & VX_NO_STACK_FILL)		printf ("high %5s  margin %5s\n", "???", "???");	    else		printf ("high %-5d  margin %-5d\n", td.td_stackHigh,			 td.td_stackMargin);	    printf ("\noptions: 0x%x\n%s\n", td.td_options, optionsString);	    /* display VxWorks events information */	    eventTaskShow (&td.td_events);	    if (tid != taskIdSelf ())			/* no self exam */		{		taskRegsShow (tid);		if (_func_fppTaskRegsShow != NULL)	/* fp regs if attached*/		    (* _func_fppTaskRegsShow) (tid);		if (_func_dspTaskRegsShow != NULL)	/* dsp regs if attached*/		    (* _func_dspTaskRegsShow) (tid);#ifdef _WRS_ALTIVEC_SUPPORT		if (_func_altivecTaskRegsShow != NULL)	/* altivec regs if attached*/		    (* _func_altivecTaskRegsShow) (tid);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉完整版 | 美国三级日本三级久久99| 亚洲精品一区二区精华| 91视频xxxx| 国产在线不卡一卡二卡三卡四卡| 一区二区三区日韩在线观看| 国产亚洲视频系列| 91精品国产乱码久久蜜臀| 972aa.com艺术欧美| 国产一区二区三区电影在线观看 | 日韩激情视频在线观看| 中文字幕一区av| 精品国产人成亚洲区| 欧美色男人天堂| 成人h精品动漫一区二区三区| 激情综合色播激情啊| 午夜av一区二区| 一区二区三区四区激情| 国产精品免费久久| 国产欧美久久久精品影院 | 亚洲精品日产精品乱码不卡| 久久九九99视频| 欧美电视剧在线观看完整版| 欧美人与禽zozo性伦| 欧美亚洲国产一卡| 色女孩综合影院| 99精品一区二区| 99精品黄色片免费大全| 粉嫩一区二区三区在线看| 韩国精品在线观看| 久久91精品久久久久久秒播| 日本亚洲一区二区| 日日摸夜夜添夜夜添精品视频 | 伊人性伊人情综合网| 国产精品久久久久精k8 | 亚洲一区二区三区免费视频| 亚洲欧美激情小说另类| 国产精品女主播在线观看| 久久精品一区蜜桃臀影院| 久久午夜电影网| 欧美韩国一区二区| 国产精品网站一区| 中文字幕日本不卡| 亚洲欧洲无码一区二区三区| 国产精品妹子av| 日本欧美加勒比视频| 婷婷激情综合网| 免费精品视频在线| 国产尤物一区二区| 成人一级片网址| 99久久综合精品| 日本精品一级二级| 欧美高清dvd| 日韩美女在线视频| 国产无遮挡一区二区三区毛片日本| 久久久国产精品午夜一区ai换脸| 国产日本亚洲高清| 亚洲色图欧美激情| 五月天精品一区二区三区| 免费精品视频在线| 国产成人精品免费视频网站| 波多野结衣中文字幕一区| 91久久免费观看| 日韩欧美在线不卡| 久久久久久久综合日本| 国产精品国产三级国产aⅴ入口 | 精品亚洲国内自在自线福利| 国产999精品久久| 在线免费亚洲电影| 日韩三级电影网址| 国产精品理伦片| 五月婷婷另类国产| 国产乱码精品一区二区三| 99精品视频一区二区| 欧美日韩综合在线免费观看| 欧美成人猛片aaaaaaa| 国产精品欧美久久久久无广告| 亚洲在线视频网站| 国产一区二区三区久久久| 91论坛在线播放| 欧美精品一区二区三区蜜臀| 亚洲免费看黄网站| 激情图区综合网| 色av成人天堂桃色av| 精品国产欧美一区二区| 日韩理论片在线| 久久99国产精品久久99果冻传媒| 一本一道综合狠狠老| 精品久久国产97色综合| 亚洲乱码国产乱码精品精的特点 | 欧美性一级生活| 久久综合九色综合欧美98| 亚洲另类在线制服丝袜| 免费在线观看不卡| 一本色道久久综合亚洲aⅴ蜜桃 | 95精品视频在线| 欧美精品一区二区三区久久久| 一区二区三区在线影院| 国内精品伊人久久久久av一坑 | 男男成人高潮片免费网站| 色就色 综合激情| 国产欧美一区二区三区鸳鸯浴 | 国产精品午夜免费| 亚洲午夜激情av| 北条麻妃国产九九精品视频| 日韩一区二区高清| 亚洲电影中文字幕在线观看| 东方欧美亚洲色图在线| 欧美一级在线免费| 亚洲不卡一区二区三区| 99re66热这里只有精品3直播| 久久奇米777| 麻豆精品一区二区av白丝在线| 在线免费观看不卡av| 国产精品久久久久久久岛一牛影视| 狠狠色狠狠色合久久伊人| 69堂精品视频| 亚洲v精品v日韩v欧美v专区| 色综合久久久久综合体| 综合久久综合久久| 国产不卡免费视频| 精品国产一区a| 蜜臂av日日欢夜夜爽一区| 欧美乱熟臀69xxxxxx| 亚洲国产视频一区| 精品国产乱码久久久久久闺蜜| 欧美激情在线一区二区三区| 日韩1区2区3区| 欧美日韩免费一区二区三区 | 青娱乐精品在线视频| 欧美影视一区二区三区| 一区二区三区在线视频观看| 99视频一区二区三区| 中文字幕一区二区日韩精品绯色| 夫妻av一区二区| 中文字幕一区二| 色综合久久九月婷婷色综合| 一区二区三区日韩精品视频| 色综合天天综合在线视频| 一区二区三区四区在线| 欧美三级中文字| 日本成人中文字幕在线视频| 欧美一区二区高清| 韩国女主播一区| 久久久精品免费免费| 成人综合婷婷国产精品久久免费| 中文字幕欧美日韩一区| 97精品国产露脸对白| 亚洲综合激情小说| 欧美精品一二三区| 日本午夜精品一区二区三区电影 | 欧美国产视频在线| 成人黄色电影在线| 自拍av一区二区三区| 欧美日韩视频在线第一区 | 欧美bbbbb| 久久久综合视频| aaa国产一区| 午夜久久久久久久久久一区二区| 日韩一区二区在线免费观看| 国产美女一区二区三区| 日韩一区在线免费观看| 欧美亚洲精品一区| 蜜桃久久久久久| 国产精品久久久久久久午夜片| 91激情在线视频| 欧美96一区二区免费视频| 国产亚洲一区二区在线观看| 日本精品裸体写真集在线观看| 日本在线不卡视频| 国产欧美日韩在线| 欧美婷婷六月丁香综合色| 久久国产精品99精品国产| 国产精品入口麻豆原神| 日韩视频一区在线观看| av中文一区二区三区| 日韩国产欧美三级| 国产精品免费网站在线观看| 欧美精品乱人伦久久久久久| 国产一区二区在线免费观看| 亚洲激情校园春色| 26uuu亚洲婷婷狠狠天堂| 91视频精品在这里| 精品一区二区三区视频在线观看| 中文字幕一区二区三区蜜月| 国产精品一区二区久激情瑜伽| 欧美无乱码久久久免费午夜一区| 久久精品av麻豆的观看方式| 亚洲三级电影网站| 26uuu色噜噜精品一区二区| 色素色在线综合| 国产伦精品一区二区三区免费迷 | 日韩vs国产vs欧美| 中文幕一区二区三区久久蜜桃| 欧美电影一区二区三区| 成熟亚洲日本毛茸茸凸凹| 日韩av电影免费观看高清完整版 | 亚洲国产日韩一级| 国产精品美女久久久久久2018| 日韩一级片在线观看|