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

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

?? ppc860intr.c

?? VxWorks下 Cpv3060的BSP源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ppc860Intr.c - PowerPC 860 series interrupt driver *//* Copyright 1984-2000 Wind River Systems, Inc. *//* Copyright 1997-2000 Motorola, Inc., All Rights Reserved *//*modification history--------------------01o,05dec00,rhk  WRS code standards cleanup.01n,31aug99,gls  fixed SPR #21239, kernel locks on boot when instrumented.01m,16dec98,rhk  modified ppc860IntEnable and ppc860IntDisable to 		 support enabling/disabling SIU and CPM interrupts.01l,22oct98,rhk  added interrupt chaining to support PCI interrupts.01k,30mar98,map  initialize _func_int{Enable,Disable}Rtn [SPR# 20447]01j,26mar98,map  added ppc860IntEnable, ppc860IntDisable, removed duplicate                 #ifdef'd code, reworked ppc860IntrInit(). [SPR# 20447]01i,11nov97,map  redo clearing CISR bits [SPR# 8781], and default SCC                 interrupt priority01h,06mar97,tpr  fixed properly SPR #8042.01g,21feb97,tpr  fixed interrupt bit clearing in CISR (SPR #8042).01f,23jun97,map  added default SCC interrupt priority [SPR# 8692]01e,19jun97,map  added IV_SCC[34] definitions [SPR# 8450]01d,17jun97,map  fixed clearing CISR bits [SPR# 8781]01c,16jun97,srr  all interrupts in the CISR are being cleared because an OR is		 being done in ppc860CpmIntrDeMux instead of directly writing		 only the bit corresponding to the interrupt.01b,18sep96,pr   added WindView instrumentation.01a,17feb96,tpr  written.*//*DESCRIPTIONThe PowerPC 800 CPU series is divided in three units: PowerPC core, SystemInterface Unit (SIU) and Communication Processor Unit (CPM). The PowerPCcore accepts only one external interrupt exception (vector 0x500). The SIUprovides an interrupt controller which provides 32 levels but only 16 areused. The Interrupt controller is connected to the PowerPC core external interrupt. The CPM unit also provides an interrupt controller which canbe connected to one of the SIU interrupt controler entries. This libraryprovides the routines to manage these interrupt controllersppc860IntrInit() connects the default demultiplexers, ppc860IntrDeMux() andppc860CpmIntrDeMux(), to the external interrupt vector and initializes a tablecontaining a function pointer and an associated parameter for each interruptsource. ppc860IntrInit() is called by sysHwInit() from sysLib.c.The default demultimplexer, ppc860IntrDeMux() detects which peripheral or controller has raised an interrupt and calls the associated routine with its parameter. If the interrupt comes from the CPM interrupt contoller, theppc860CpmIntDeMux() function is called. As ppc860IntrDeMux(), this functiondetects which peripheral or controller has raised an interrupt and calls theassociated routine with its parameter.INCLUDE FILES: drv/intrCtl/ppc860Intr.h, drv/multi/ppc860Siu.h,drv/multi/ppc860Cpm.h*//* includes */#include "intLib.h"#include "iv.h"#include "ppc860Intr.h"#include "drv/multi/ppc860Siu.h"#include "drv/multi/ppc860Cpm.h"/* default SCC relative interrupt priority */#define CICR_SCCP_DEF   (CICR_SCCDP_SCC4 | CICR_SCCCP_SCC3 | \                         CICR_SCCBP_SCC2 | CICR_SCCAP_SCC1 )#ifdef  INCLUDE_INSTRUMENTATION#include "private/funcBindP.h"IMPORT int              evtTimeStamp;LOCAL  int		cpmIntNum;LOCAL  int		cpmVecNum;#endif /* INCLUDE_INSTRUMENTATION *//* local *//* globals */INT_HANDLER_DESC * sysIntTbl [256];	/*  Intr vector table *//* forward declarations */LOCAL void	ppc860IntrDeMux (void);LOCAL void	ppc860CpmIntrDeMux (int);int		ppc860IntEnable (int);int		ppc860IntDisable (int);STATUS 		ppc860IntConnect ( VOIDFUNCPTR *, VOIDFUNCPTR, int);/********************************************************************************* ppc860IntrInit - initialize the interrupt manager for the PowerPC 860 series** This routine connects the default demultiplexer, ppc860IntrDeMux()* to the external interrupt vector and associates all * interrupt sources with the default interrupt handler.  This routine is* called by sysHwInit() in sysLib.c.** NOTE: All interrupt from the SIU and CPM unit are enabled, CICR is setup so* that SCC1 has the highest relative interrupt priority, through SCC4 with the* lowest.** RETURN : OK or ERROR if the SUI interrupt level to connect the CPM * interrupt contoller is wrong.*/void ppc860IntrInit ()     {    VOIDFUNCPTR defaultVec;     	/* INTR3 default vector */    UINT        vector;    /* get the default vector connected to the External Interrupt (0x500) */    defaultVec = (VOIDFUNCPTR) excVecGet ((FUNCPTR *) _EXC_OFF_INTR);    /* connect the interrupt demultiplexer to External Interrupt (0x500) */    excIntConnect ((VOIDFUNCPTR *) _EXC_OFF_INTR, ppc860IntrDeMux);    /* Install `system' intConnect routine */    if (_func_intConnectRtn == NULL)        _func_intConnectRtn = ppc860IntConnect;    if (_func_intEnableRtn == NULL)        _func_intEnableRtn = ppc860IntEnable;    if (_func_intDisableRtn == NULL)        _func_intDisableRtn = ppc860IntDisable;    /* set all vectors to NULL state */    for (vector = 0; vector < 256; vector++)	sysIntTbl[vector] = NULL;    }/********************************************************************************* ppc860IntrInit2 - initialize the interrupt manager for the PowerPC 860 series** This routine connects the ppc860CpmIntrDeMux demultiplexer to the *  ppc860IntrDeMux().  This routine is called by sysHwInit2() in sysLib.c.** NOTE: All interrupts from the CPM unit are enabled.** RETURN : OK or ERROR if the SUI interrupt level to connect the CPM* interrupt contoller is wrong.*/STATUS ppc860IntrInit2    (    VOIDFUNCPTR *       cpmIntrVec      /* Intr level of the CPM Intr ctrl */    )    {    UINT32      regBase;                /* device register base address */    UINT32      cicrIntLevel;           /* CICR interupt level */    UINT32      simaskIntLevel;    /* get the CPM interrupt level */    switch (IVEC_TO_INUM(cpmIntrVec))        {        case IVEC_TO_INUM(IV_LEVEL0):            cicrIntLevel = CICR_IRL_LVL0;            simaskIntLevel = SIMASK_LVM0;            break;        case IVEC_TO_INUM(IV_LEVEL1):            cicrIntLevel = CICR_IRL_LVL1;            simaskIntLevel = SIMASK_LVM1;            break;        case IVEC_TO_INUM(IV_LEVEL2):            cicrIntLevel = CICR_IRL_LVL2;            simaskIntLevel = SIMASK_LVM2;            break;        case IVEC_TO_INUM(IV_LEVEL3):            cicrIntLevel = CICR_IRL_LVL3;            simaskIntLevel = SIMASK_LVM3;            break;        case IVEC_TO_INUM(IV_LEVEL4):            cicrIntLevel = CICR_IRL_LVL4;            simaskIntLevel = SIMASK_LVM4;            break;        case IVEC_TO_INUM(IV_LEVEL5):            cicrIntLevel = CICR_IRL_LVL5;            simaskIntLevel = SIMASK_LVM5;            break;        case IVEC_TO_INUM(IV_LEVEL6):            cicrIntLevel = CICR_IRL_LVL6;            simaskIntLevel = SIMASK_LVM6;            break;        case IVEC_TO_INUM(IV_LEVEL7):            cicrIntLevel = CICR_IRL_LVL7;            simaskIntLevel = SIMASK_LVM7;            break;        default:            return (ERROR);        }    /*     * connect the CPM interrupt demultiplexer at the level specified by     * the input parameter cpmIntrVec     */#ifdef  INCLUDE_INSTRUMENTATION    cpmVecNum = IVEC_TO_INUM(cpmIntrVec);#endif /* INCLUDE_INSTRUMENTATION */    intConnect (cpmIntrVec, ppc860CpmIntrDeMux, simaskIntLevel);    /* Get the register base address */    regBase = vxImmrGet();    /*     * set the request interrupt level from the CPM and enable CPM interrupt     * generation.     */    * CICR(regBase) = (CICR_SCCP_DEF | cicrIntLevel | CICR_IEN | CICR_HP_MSK);    /* enable the CPM interrupt into the SIU */    * SIMASK(regBase) = simaskIntLevel;    return (OK);    }/********************************************************************************* ppc860IntConnect - connect a routine to an interrupt ** This routine connects any C or assembly routine to one of the multiple * sources of interrupts.** The connected 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.** This board supports PCI interrupts, so interrupt chaining is implemented* by this routine.*** Standard <vector> types are defined in h/drv/intrClt/ppc860Intr.h, * additional interrupt vectors are defined in the "board".h file in the* BSP directory.** RETURNS: OK, or ERROR if <vector> is unknown.** SEE ALSO: ppc860Intr.h*/STATUS ppc860IntConnect    (    VOIDFUNCPTR *	vector,		/* interrupt vector to attach to */    VOIDFUNCPTR		routine,	/* routine to be called */    int 		parameter	/* parameter to be passed to routine */    )    {    INT_HANDLER_DESC * newHandler;    INT_HANDLER_DESC * currHandler;    /* test the vector */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线播| 久久精品国产秦先生| 美日韩一区二区三区| 99久久精品久久久久久清纯| 在线播放欧美女士性生活| 日本一区二区三区国色天香 | 一区二区三区中文字幕精品精品| 免费看欧美女人艹b| 在线观看网站黄不卡| 国产日韩精品一区二区浪潮av| 亚洲成人动漫一区| 不卡视频在线看| 国产人成亚洲第一网站在线播放| 日韩不卡手机在线v区| 日本久久一区二区| 1024精品合集| zzijzzij亚洲日本少妇熟睡| 精品裸体舞一区二区三区| 亚洲成av人片www| 色婷婷av一区| 亚洲视频一区二区在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日韩午夜小视频| 污片在线观看一区二区| 日本韩国一区二区| 亚洲欧美电影院| 成人高清视频在线| 国产精品久久久久精k8| 风间由美一区二区三区在线观看| 欧美成人video| 久久精品国产精品亚洲精品| 欧美丰满少妇xxxxx高潮对白| 一区二区成人在线观看| 91免费精品国自产拍在线不卡| 国产精品网曝门| www.亚洲激情.com| 亚洲品质自拍视频| 色菇凉天天综合网| 午夜视频一区二区| 欧美一区二区性放荡片| 久久国产精品99久久人人澡| 26uuu国产一区二区三区| 国产精品一二三| 久久精品男人天堂av| 国产福利精品一区| 亚洲欧洲av在线| 欧美三级一区二区| 精品一区二区三区免费视频| 久久色.com| 97久久超碰精品国产| 亚洲一区二区三区影院| 欧美久久久久中文字幕| 久久激五月天综合精品| 国产欧美一区二区三区沐欲| 不卡的av在线播放| 亚洲成人精品影院| 精品国一区二区三区| 岛国一区二区三区| 亚洲精品国产视频| 午夜国产精品影院在线观看| 狠狠色丁香久久婷婷综合_中 | 99久久综合国产精品| 亚洲精品国产无天堂网2021| 国产精品一区在线| 日本不卡一区二区| 久久色视频免费观看| 99久久er热在这里只有精品66| 自拍偷拍亚洲综合| 91精品在线免费观看| 国产精品99久久久久久似苏梦涵| 亚洲另类在线一区| 精品免费视频.| 色老汉一区二区三区| 成人精品免费看| 秋霞午夜鲁丝一区二区老狼| 欧美国产成人在线| 91精品国产综合久久久久久久| 国产成人精品亚洲日本在线桃色| 亚洲精品成a人| 偷窥国产亚洲免费视频| 高清久久久久久| 国产精品国产三级国产aⅴ无密码| 欧美亚洲动漫制服丝袜| 国产露脸91国语对白| 石原莉奈一区二区三区在线观看| 欧美激情在线免费观看| 制服丝袜中文字幕一区| 91在线观看地址| 国产精品性做久久久久久| 天使萌一区二区三区免费观看| 国产无遮挡一区二区三区毛片日本| av亚洲精华国产精华精华| 久久99久久精品| 日韩一区精品视频| 亚洲一区二区三区四区五区中文| 日韩小视频在线观看专区| 91丨九色丨国产丨porny| 麻豆freexxxx性91精品| 椎名由奈av一区二区三区| 日韩欧美国产三级电影视频| 99re66热这里只有精品3直播| 国产一区高清在线| 久久精品99久久久| 久久国产夜色精品鲁鲁99| 一本色道a无线码一区v| 成人午夜精品一区二区三区| 久久福利视频一区二区| 日韩影院免费视频| 丝袜美腿亚洲综合| 一区二区三区日韩在线观看| 自拍偷拍欧美精品| 极品少妇xxxx精品少妇| 亚洲午夜视频在线| 日韩欧美一区二区视频| 8x福利精品第一导航| 在线不卡中文字幕| 在线播放/欧美激情| 欧美日本在线视频| 91精品福利在线一区二区三区| 欧美日韩亚洲综合| 制服丝袜亚洲精品中文字幕| 在线成人小视频| 日韩一区二区三区观看| 欧美va天堂va视频va在线| 日韩一级免费观看| 精品美女一区二区三区| 久久久三级国产网站| 日本一区二区三区高清不卡| 国产精品久久久久影院| 亚洲国产乱码最新视频| 亚洲国产精品视频| 一区二区三区四区在线| 午夜精彩视频在线观看不卡| 亚洲成人av在线电影| 亚洲午夜久久久久久久久电影网| 一区二区三区四区激情| 中文字幕在线不卡国产视频| 国产女同互慰高潮91漫画| 国产精品视频一二| 中文字幕国产一区二区| 一区二区在线免费| 偷拍与自拍一区| 粉嫩蜜臀av国产精品网站| 色偷偷久久一区二区三区| 日韩一区二区免费在线电影| 久久久久综合网| 亚洲一区二区精品久久av| 免费在线成人网| www.亚洲人| 日韩欧美黄色影院| 亚洲婷婷综合色高清在线| 日韩 欧美一区二区三区| 国产盗摄视频一区二区三区| 欧美中文字幕一二三区视频| 精品噜噜噜噜久久久久久久久试看| 国产精品久久久久影院| 人人精品人人爱| 色婷婷精品久久二区二区蜜臂av | 国产大陆a不卡| 欧美亚日韩国产aⅴ精品中极品| 日韩欧美一二三四区| 国产精品久久久久久久久快鸭| 视频一区二区三区在线| 成人性视频网站| 91精品欧美福利在线观看| 中文字幕第一区第二区| 理论电影国产精品| 日本高清不卡视频| 国产三区在线成人av| 日本网站在线观看一区二区三区| 成人深夜福利app| 欧美va亚洲va| 亚洲www啪成人一区二区麻豆| 夫妻av一区二区| 久久嫩草精品久久久精品一| 成人国产视频在线观看| 久久综合999| 日本系列欧美系列| 在线观看区一区二| 日韩理论片网站| 北岛玲一区二区三区四区| 久久蜜桃av一区精品变态类天堂| 午夜视频在线观看一区| 国产在线不卡视频| 亚洲视频你懂的| 成人午夜碰碰视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲色图一区二区| 丁香激情综合五月| 国产日产欧美一区二区三区| 毛片av一区二区| 欧美一区二区三区性视频| 亚洲国产wwwccc36天堂| 欧美色视频在线观看| 亚洲一区二区在线免费看| 色一情一伦一子一伦一区| 一区二区三区在线视频播放 | 日本sm残虐另类| 56国语精品自产拍在线观看| 亚洲午夜三级在线|