VxWorks BSP框架源代码包含头文件和驱动

源代码在线查看: taskarchlib.c

软件大小: 7795 K
上传用户: meailin
关键词: VxWorks BSP 源代码 头文件
下载地址: 免注册下载 普通下载 VIP

相关代码

				/* taskArchLib.c - architecture-specific task management routines */								/* Copyright 1984-2001 Wind River Systems, Inc. */								/*				modification history				--------------------				01j,05jun02,wsl  remove reference to SPARC and i960				01i,20nov01,hdn  updated x86 specific sections				01h,14nov01,hbh  Updated for simulators.				01g,03mar00,zl   merged SH support into T2				01f,12mar99,p_m  Fixed SPR 20355 by documenting taskSRInit() for MIPS.				01e,25nov95,jdi  removed 29k stuff.				01d,10feb95,rhp  Update for R4000, 29K, i386/i486.				            jdi  changed 80960 to i960.				01c,15feb93,jdi  made NOMANUAL: taskACWGet(), taskACWSet(), taskPCWGet(),						 taskPCWSet(), taskSRInit(), taskTCWGet(), taskTCWSet().				01b,20jan93,jdi  documentation cleanup.				01a,23sep92,jdi  written, based on taskArchLib.c for						 mc68k, sparc, i960, mips.				*/								/*				DESCRIPTION				This library provides architecture-specific task management routines that set				and examine architecture-dependent registers.  For information about				architecture-independent task management facilities, see the manual entry				for taskLib.								NOTE: There are no application-level routines in taskArchLib for				SimSolaris, SimNT or SH.								INCLUDE FILES: regs.h, taskArchLib.h								SEE ALSO: taskLib				*/												/*******************************************************************************				*				* taskSRSet - set the task status register (MC680x0, MIPS, x86)				*				* This routine sets the status register of a task that is not running				* (i.e., the TCB must not be that of the calling task).				* Debugging facilities use this routine to set the trace bit in the 				* status register of a task that is being single-stepped.				*				* .IP `x86':				* The second parameter represents EFLAGS register and the size is 32 bit.				*				* RETURNS: OK, or ERROR if the task ID is invalid.				*/								STATUS taskSRSet				    (				    int     tid,         /* task ID */				    UINT16  sr           /* new SR  */				    )								    {				    ...				    }								/******************************************************************************				*				* taskPCWGet - get the task processor control word (i960)				*				* This routine gets the task processor control word (PCW).				*				* RETURNS: The PCW of the specified task.				*				* NOMANUAL				*/								int taskPCWGet				    (				    INT32	tid		/* task ID */				    )								    {				    ...				    }								/*******************************************************************************				*				* taskPCWSet - set the task processor control word (i960)				*				* This routine sets the processor control word of a non-executing task				* (i.e., the TCB must not be that of the calling task).				*				* RETURNS: OK, or ERROR if the task ID is invalid.				*				* NOMANUAL				*/								STATUS taskPCWSet				    (				    INT32 	tid, 		/* task ID */				    UINT32 	pcw		/* new PCW */				    )								    {				    ...				    }								/******************************************************************************				*				* taskACWGet - get the task arithmetic control word (i960)				*				* This routine gets the task arithmetic control word (ACW).				*				* RETURNS: The ACW of a specified task.				*				* NOMANUAL				*/								int taskACWGet				    (				    INT32	tid	/* task ID */				    )								    {				    ...				    }								/*******************************************************************************				*				* taskACWSet - set the task arithmetic control word (i960)				*				* This routine sets the arithmetic control word of a non-executing task				* (i.e., the TCB must not be that of the calling task).				*				* RETURNS: OK, or ERROR if the task ID is invalid.				*				* NOMANUAL				*/								STATUS taskACWSet				    (				    INT32 	tid, 	/* task ID */				    UINT32 	acw	/* new ACW */				    )								    {				    ...				    }								/******************************************************************************				*				* taskTCWGet - get the task trace control word (i960)				*				* This routine gets the task trace control word (TCW).				*				* RETURNS: The TCW of a specified task.				*				* NOMANUAL				*/								int taskTCWGet				    (				    INT32 tid		/* task ID */				    )								    {				    ...				    }								/*******************************************************************************				*				* taskTCWSet - set the task trace control word (i960)				*				* This routine sets the trace control word (TCW) of a non-executing 				* task (i.e., the TCB must not be that of the calling 				* task).  It is used by the debugging facilities to set the trace mode 				* in the TCW of a task being debugged.				*				* RETURNS: OK, or ERROR if the task ID is invalid.				*				* NOMANUAL				*/								STATUS taskTCWSet				    (				    INT32 	tid, 		/* task ID */				    UINT32 	tcw		/* new TCW */				    )								    {				    ...				    }								/*******************************************************************************				*				* taskSRInit - initialize the default task status register (MIPS)				*				* This routine sets the default status register for system-wide tasks.				* All tasks will be spawned with the status register set to this value; thus, 				* it must be called before kernelInit().				*				* RETURNS: The previous value of the default status register.				*/								ULONG taskSRInit				    (				    ULONG  newSRValue 	/* new default task status register  */				    )								    {				    ...				    }											

相关资源