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

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

?? excarchlib.c

?? vxworks的完整的源代碼
?? C
字號:
/* excArchLib.c - architecture-specific exception-handling facilities *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01o,05jun02,wsl  remove reference to SPARC and i96001n,20nov01,hdn  updated x86 specific sections.01m,13nov01,hbh  Updated for simulators.01l,29oct01,zl   updated SH specific sections.01k,03mar00,zl   merged SH support into T201j,26mar97,jdi  tam  added excCrtConnect() and excIntCrtConnect() for PPC 403.01j,27feb97,jpd  added ARM-specific documentation.01i,23mar96,jdi  doc: edits to PowerPC additions.01h,08mar96,kkk  added PowerPC specific routines.01g,25nov95,jdi  removed 29k stuff.01f,06oct95,jdi  removed .pG "Debugging".01e,10feb95,jdi  changed 80960 to i960.01d,30jan95,rhp  added MIPS, i386/i486 doc.01c,02dec93,pme  added Am29K family support.01b,20jan93,jdi  documenation cleanup.01a,23sep92,jdi  written, based on excArchLib.c for		 mc68k, sparc, i960, mips.*//*This library contains exception-handling facilities that are architecturedependent.  For information about generic (architecture-independent)exception-handling, see the manual entry for excLib.INCLUDE FILES: excLib.hSEE ALSO: excLib, dbgLib, sigLib, intLib*//********************************************************************************* excVecInit - initialize the exception/interrupt vectors** This routine sets all exception vectors to point to the appropriate* default exception handlers.  These handlers will safely trap and report* exceptions caused by program errors or unexpected hardware interrupts.* .IP `MC680x0': 8* All vectors from vector 2 (address 0x0008) to 255 (address 0x03fc) are* initialized.  Vectors 0 and 1 contain the reset stack pointer and program* counter.* \".IP `SPARC':* \"All vectors from 0 (offset 0x000) through 255 (offset 0xff0) are* \"initialized.* \".IP `i960':* \"The i960 fault table is filled with* \"a default fault handler, and all non-reserved vectors in the i960* \"interrupt table are filled with a default interrupt handler.* .IP `MIPS':* All MIPS exception, trap, and interrupt vectors are set to default handlers.* .IP `x86':* All vectors from vector 0 (address (0x0000) to 255 (address 0x07f8) are* initialized to default handlers.* .IP `PowerPC':* There are 48 vectors and only vectors that are used are initialized.* .IP `SH':* There are 256 vectors, initialized with the default exception handler (for * exceptions) or the unitialized interrupt handler (for interupts).* On SH-2, vectors 0 and 1 contain the power-on reset program counter and * stack pointer. Vectors 2 and 3 contain the manual reset program counter and* stack pointer. On SH-3 and SH-4 processors the vector table is located at * (vbr + 0x800), and the (exception code / 8) value is used as vector offset.* The first two vectors are reserved for special use: "trapa #0" (offset 0x0)* to implement software breakpoint, and "trapa #1' (offset 0x4) to detect * integer zero divide exception.* .IP `ARM':* All exception vectors are initialized to default handlers except 0x14* (Address) which is now reserved on the ARM and 0x1C (FIQ), which is not* used by VxWorks.* .IP `SimSolaris/SimNT':* This routine does nothing on both simulators and always returns OK.* .LP** NOTE* This routine is usually called from the system start-up routine,* usrInit(), in usrConfig.c.  It must be called before interrupts are enabled.* \"(SPARC: It must also be called when the system runs with the on-chip windows* \"(no stack)).** RETURNS: OK, always.** SEE ALSO: excLib*/STATUS excVecInit (void)    {    ...    }/****************************************************************************** excConnect - connect a C routine to an exception vector (PowerPC)** This routine connects a specified C routine to a specified exception* vector.  An exception stub is created and in placed at <vector> in the* exception table.  The address of <routine> is stored in the exception stub* code.  When an exception occurs, the processor jumps to the exception stub* code, saves the registers, and calls the C routines.** The routine can be any normal C code, except that it must not* invoke certain operating system functions that may block or perform* I/O operations.** The registers are saved to an Exception Stack Frame (ESF) placed on the* stack of the task that has produced the exception.  The structure of the* ESF used to save the registers is defined in h/arch/ppc/esfPpc.h.** The only argument passed by the exception stub to the C routine is a pointer* to the ESF containing the registers values.  The prototype of this C routine* is described below:* .CS*     void excHandler (ESFPPC *);* .CE** When the C routine returns, the exception stub restores the registers saved* in the ESF and continues execution of the current task.** RETURNS: OK, always.** SEE ALSO: excIntConnect(), excVecSet()*/STATUS excConnect    (    VOIDFUNCPTR * vector,   /* exception vector to attach to */    VOIDFUNCPTR   routine   /* routine to be called */    )    {    ...    }/****************************************************************************** excIntConnect - connect a C routine to an asynchronous exception vector (PowerPC, ARM)** This routine connects a specified C routine to a specified asynchronous* exception vector.** When the C routine is invoked, interrupts are still locked.  It is the* responsibility of the C routine to re-enable the interrupt.** The routine can be any normal C code, except that it must not* invoke certain operating system functions that may block or perform* I/O operations.** NOTE:* On PowerPC, the vector is typically the external interrupt vector* 0x500 and the decrementer vector 0x900.  An interrupt stub is created* and placed at <vector> in the exception table.  The address of* <routine> is stored in the interrupt stub code.  When the asynchronous* exception occurs the processor jumps to the interrupt stub code, saves* only the requested registers, and calls the C routines.** Before saving the requested registers, the interrupt stub switches from the* current task stack to the interrupt stack.  For nested interrupts, no* stack-switching is performed, because the interrupt is already set.** NOTE:* On the ARM, the address of <routine> is stored in a function pointer* to be called by the stub installed on the IRQ exception vector* following an asynchronous exception.  This routine is responsible for* determining the interrupt source and despatching the correct handler* for that source.** Before calling the routine, the interrupt stub switches to SVC mode,* changes to a separate interrupt stack and saves necessary registers. In* the case of a nested interrupt, no SVC stack switch occurs.** RETURNS: OK, always.** SEE ALSO: excConnect(), excVecSet()*/STATUS excIntConnect    (    VOIDFUNCPTR * vector,         /* exception vector to attach to */    VOIDFUNCPTR   routine         /* routine to be called */    )    {    ...    }/********************************************************************************* excCrtConnect - connect a C routine to a critical exception vector (PowerPC 403)** This routine connects a specified C routine to a specified critical exception* vector.  An exception stub is created and in placed at <vector> in the* exception table.  The address of <routine> is stored in the exception stub* code.  When an exception occurs, the processor jumps to the exception stub* code, saves the registers, and call the C routines.** The routine can be any normal C code, except that it must not* invoke certain operating system functions that may block or perform* I/O operations.** The registers are saved to an Exception Stack Frame (ESF) which is placed* on the stack of the task that has produced the exception.  The ESF structure* is defined in h/arch/ppc/esfPpc.h.** The only argument passed by the exception stub to the C routine is a pointer* to the ESF containing the register values.  The prototype of this C routine* is as follows:* .CS*     void excHandler (ESFPPC *);* .CE** When the C routine returns, the exception stub restores the registers saved* in the ESF and continues execution of the current task.** RETURNS: OK, always.* * SEE ALSO: excIntConnect(), excIntCrtConnect, excVecSet()*/STATUS excCrtConnect    (    VOIDFUNCPTR * vector,               /* exception vector to attach to */    VOIDFUNCPTR   routine               /* routine to be called */    )    {    ...    }/********************************************************************************* excIntCrtConnect - connect a C routine to a critical interrupt vector (PowerPC 403)** This routine connects a specified C routine to a specified asynchronous * critical exception vector such as the critical external interrupt vector * (0x100), or the watchdog timer vector (0x1020).  An interrupt stub is created * and placed at <vector> in the exception table.  The address of <routine> is * stored in the interrupt stub code.  When the asynchronous exception occurs,* the processor jumps to the interrupt stub code, saves only the requested * registers, and calls the C routines.** When the C routine is invoked, interrupts are still locked.  It is the* C routine's responsibility to re-enable interrupts.** The routine can be any normal C routine, except that it must not* invoke certain operating system functions that may block or perform* I/O operations.** Before the requested registers are saved, the interrupt stub switches from the* current task stack to the interrupt stack.  In the case of nested interrupts, no* stack switching is performed, because the interrupt stack is already set.** RETURNS: OK, always.* * SEE ALSO: excConnect(), excCrtConnect, excVecSet()*/STATUS excIntCrtConnect    (    VOIDFUNCPTR * vector,               /* exception vector to attach to */    VOIDFUNCPTR   routine               /* routine to be called */    )    {    ...    }/****************************************************************************** excVecSet - set a CPU exception vector (PowerPC, ARM)** This routine specifies the C routine that will be called when the exception* corresponding to <vector> occurs.  This routine does not create the* exception stub; it simply replaces the C routine to be called in the* exception stub.** NOTE ARM:* On the ARM, there is no excConnect() routine, unlike the PowerPC. The C* routine is attached to a default stub using excVecSet().** RETURNS: N/A** SEE ALSO: excVecGet(), excConnect(), excIntConnect()*/void excVecSet    (    FUNCPTR * vector,     /* vector offset */    FUNCPTR   function    /* address to place in vector */    )    {    ...    }/****************************************************************************** excVecGet - get a CPU exception vector (PowerPC, ARM)** This routine returns the address of the C routine currently connected to* <vector>.** RETURNS: The address of the C routine.** SEE ALSO: excVecSet()*/FUNCPTR excVecGet    (    FUNCPTR * vector   /* vector offset */    )    {    ...    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品正在播放| 99精品黄色片免费大全| 久久综合国产精品| 亚洲色图另类专区| 国产91精品入口| 日韩成人伦理电影在线观看| 成人激情免费视频| 91精品国产乱码| 久久这里只有精品视频网| 亚洲一区二区三区在线看| 国产一区日韩二区欧美三区| 欧美日韩精品专区| 欧美性猛交xxxxxxxx| 欧美亚洲日本国产| 在线观看日韩毛片| 免费成人av在线| 亚洲成人激情综合网| 另类小说综合欧美亚洲| 99久久精品国产网站| 在线中文字幕一区| 久久久久久亚洲综合| 亚洲国产一区二区三区青草影视| 国产老肥熟一区二区三区| 欧美日韩一级二级| 亚洲一区在线观看免费 | 亚洲中国最大av网站| 国精产品一区一区三区mba桃花 | 精品奇米国产一区二区三区| 欧美日韩一级视频| 欧美日韩视频在线观看一区二区三区| 欧美人与z0zoxxxx视频| 欧美午夜片在线看| 欧美一区二区女人| 久久精品在这里| 亚洲欧美日韩一区| 婷婷成人激情在线网| 国内精品第一页| 91久久精品一区二区三区| 日韩欧美www| 亚洲日本丝袜连裤袜办公室| 日本人妖一区二区| 国产成人亚洲综合a∨猫咪| 色狠狠色狠狠综合| 日韩一级二级三级| 亚洲丝袜制服诱惑| 久久成人精品无人区| 99精品欧美一区| 欧美大白屁股肥臀xxxxxx| 中文字幕欧美国产| 日本免费在线视频不卡一不卡二 | 在线一区二区三区做爰视频网站| 欧美二区乱c少妇| 最新不卡av在线| 久99久精品视频免费观看| 日本精品裸体写真集在线观看 | 色狠狠av一区二区三区| 欧美成人精品1314www| 亚洲一区在线观看视频| 国产大陆a不卡| 日韩一区二区麻豆国产| 亚洲欧洲综合另类| 成人妖精视频yjsp地址| 精品成人在线观看| 亚洲美女视频在线观看| 国产成人aaa| 欧美草草影院在线视频| 亚洲mv大片欧洲mv大片精品| 91美女片黄在线| 亚洲欧美一区二区视频| 成人黄色电影在线| 国产日产欧产精品推荐色| 国产一区二区影院| 精品国产99国产精品| 另类综合日韩欧美亚洲| 日韩欧美亚洲一区二区| 蜜桃视频在线观看一区二区| 欧美三级电影网| 亚洲午夜成aⅴ人片| 欧美网站大全在线观看| 亚洲综合在线视频| 色欧美日韩亚洲| 亚洲综合视频在线观看| 一本大道av伊人久久综合| 亚洲人午夜精品天堂一二香蕉| www.亚洲激情.com| 中文字幕综合网| 色天天综合久久久久综合片| 亚洲欧美电影一区二区| 中文字幕一区在线| 亚洲成人午夜影院| 激情五月婷婷综合| 狠狠色狠狠色合久久伊人| 成人毛片老司机大片| 成人免费观看视频| 欧美电视剧在线观看完整版| 2019国产精品| 国产精品精品国产色婷婷| 蜜臀av亚洲一区中文字幕| 99久久婷婷国产| 国产精品嫩草影院com| 国产乱码精品1区2区3区| 国产成人免费在线| 欧美经典三级视频一区二区三区| av在线不卡免费看| 午夜伊人狠狠久久| 欧美不卡123| 成人国产免费视频| 亚洲成人在线免费| 国产亚洲制服色| 欧美天天综合网| 经典三级在线一区| 亚洲精品视频在线观看免费| 91精品国产91久久综合桃花| 国产成人av自拍| 午夜精品久久久久久久久久久 | 三级久久三级久久久| 日韩欧美激情在线| 在线观看不卡一区| 国产精品一区二区你懂的| 亚洲精品免费在线观看| 欧美大片在线观看一区| 91国偷自产一区二区三区观看| 麻豆精品在线看| 亚洲精品菠萝久久久久久久| 欧美va日韩va| 欧美网站一区二区| 97精品超碰一区二区三区| 免播放器亚洲一区| 一区二区三区在线观看网站| 欧美精品一区二区蜜臀亚洲| 91麻豆精品一区二区三区| 极品少妇xxxx精品少妇偷拍 | 日韩一区二区免费在线观看| 91碰在线视频| 国产成人精品在线看| 亚洲va欧美va国产va天堂影院| 国产精品青草综合久久久久99| 欧美tickle裸体挠脚心vk| 91国偷自产一区二区使用方法| 成人性生交大片免费看中文网站| 蜜桃一区二区三区在线观看| 亚洲国产美国国产综合一区二区| 日韩一区在线播放| 国产视频视频一区| 久久久美女艺术照精彩视频福利播放| 欧美日韩在线一区二区| 色婷婷av一区二区| 91蜜桃免费观看视频| av电影在线观看完整版一区二区| 国产一区二区三区四| 久久电影网电视剧免费观看| 蜜臀av性久久久久蜜臀aⅴ| 日本中文字幕不卡| 日本系列欧美系列| 蜜桃av噜噜一区| 日韩精品一区第一页| 日韩精品电影在线观看| 天天综合色天天综合色h| 丝袜亚洲另类欧美| 日韩高清电影一区| 日韩成人一区二区| 狠狠色丁香婷综合久久| 国产高清精品网站| 国产成人精品免费在线| 成人午夜视频在线观看| 成人av午夜电影| 色综合久久中文综合久久97| 欧美色综合久久| 欧美一区二区久久| 久久久久国产精品厨房| 国产欧美日韩另类一区| 亚洲精品国产高清久久伦理二区| 伊人色综合久久天天| 无码av免费一区二区三区试看| 免费观看成人鲁鲁鲁鲁鲁视频| 久久99精品久久久久久| 处破女av一区二区| 91成人免费在线| 日韩欧美一区电影| 中文字幕av一区二区三区免费看 | 亚洲黄色性网站| 亚洲电影一级黄| 日韩黄色免费网站| 国产一区在线观看视频| 99精品久久只有精品| 欧美日韩高清一区二区不卡| 欧美大片拔萝卜| 亚洲色图都市小说| 经典三级在线一区| 色婷婷综合激情| 26uuuu精品一区二区| 亚洲人一二三区| 日本免费新一区视频| heyzo一本久久综合| 4438x亚洲最大成人网| 欧美国产1区2区| 日韩在线一区二区三区| 国产**成人网毛片九色 | 国产精品99久久久| 欧美三级日韩三级|