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

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

?? i80312intrctl.c

?? VXWORKS BSP開發包,初始化 驅動文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* i80312Intr.c - interrupt controller driver for Yavapai(80312) *//* Copyright 2000-2001, Wind River Systems, Inc. *//*modification history--------------------01e,21jun02,scm add lock/unlock around reg access...01d,09nov01,scm remove IF_bitTest...01c,23apr01,scm remove warnings...01b,13apr01,scm debug pci...01a,02aug00,sut created*/#include "vxWorks.h"#include "config.h"#include "iq80310.h"#include "i80312IntrCtl.h"/* Imports *//* From architecture level header file */IMPORT	FUNCPTR sysIntLvlVecChkRtn;IMPORT	FUNCPTR sysIntLvlVecAckRtn;IMPORT	FUNCPTR sysIntLvlChgRtn;IMPORT	FUNCPTR sysIntLvlEnableRtn;IMPORT	FUNCPTR sysIntLvlDisableRtn;IMPORT  int     sysICUReadINTSRC (void);/* defines */#ifdef INCLUDE_I80312_DEBUG_PORT#undef  I80312INT_DEBUG#undef  I80312INT_XINT3_DEBUG#endif#define I80312INT_HEART_BEAT/* Starting Vector Number */#define I80312INT_VEC_BASE	(0x0)#define I80312INT_MASK_UPDATE	(-1)/* Locals */UINT32 i80312XInt3LvlDisabled;/* Software Interrupt Enable Register for XINT0-2 */UINT32  i80312XInt0to2LvlEnable[3] = {0,0,0};UINT8   i80312XInt0to2LvlCurrent = 0;/* Current interrupt level setting (i80312IntLvlChg). *//* * In a normal system, it should be set to enable all the interrupt * levels. Without IMR and ISR for XINT6-7, it doesn't make sence to set the * level to highest*/LOCAL UINT32 i80312IntLvlCurrent = I80312INT_LVL_MAX_XINT3;  /* 127 */#ifdef I80312INT_HEART_BEAT/* Watch Interrupts */LOCAL UINT32 IntMsb = L7SEG_Dot;LOCAL UINT32 IntLsb = L7SEG_ALL_OFF;LOCAL UINT32 IntCount = 0;#endif/* forward declarations */STATUS	i80312IntLvlVecChk (int*, int*);STATUS  i80312IntLvlVecAck (int, int);int	i80312IntLvlChg (int);STATUS	i80312IntLvlEnable (int);STATUS	i80312IntLvlDisable (int);#ifdef I80312INT_DEBUGextern void serialStringOut (char *pMsg);extern void serialHexOut (UINT32 value);#endif/********************************************************************************* i80312IntDevInit - initialize the interrupt controller** This routine will initialize the interrupt controller device, disabling all* interrupt sources.  It will also connect the device driver specific routines* into the architecture level hooks.  If the BSP needs to create a wrapper* routine around any of the arhitecture level routines, it should install the* pointer to the wrapper routine after calling this routine.**/void i80312IntDevInit (void)    {#ifdef I80312INT_DEBUG    serialStringOut ("\r\ni80312IntDevInit\r\n");#endif    /* install the driver routines in the architecture hooks */    sysIntLvlVecChkRtn	= i80312IntLvlVecChk;    sysIntLvlVecAckRtn	= i80312IntLvlVecAck;    sysIntLvlChgRtn     = i80312IntLvlChg;    sysIntLvlEnableRtn	= i80312IntLvlEnable;    sysIntLvlDisableRtn	= i80312IntLvlDisable;    /* Disable (Mask) all XINT3 interrupts */    i80312XInt3LvlDisabled = 0xffffffff;    /* Enable all levels */    i80312IntLvlChg (I80312INT_LVL_ALL_ENABLED);    /* Clear out all the pending interrupts */    }/********************************************************************************* i80312IntLvlVecChk - check for and return any pending interrupts** This routine interrogates the hardware to determine the highest priority* interrupt pending.  It returns the vector associated with that interrupt, and* also the interrupt priority level prior to the interrupt (not the* level of the interrupt).  The current interrupt priority level is then* raised to the level of the current interrupt so that only higher priority* interrupts will be accepted until this interrupt is finished.** The return value ERROR indicates that no pending interrupt was found and* that the level and vector values were not returned.** RETURNS: OK or ERROR if no interrupt is pending.*/STATUS  i80312IntLvlVecChk    (    int* pLevel,  /* ptr to receive old interrupt level */    int* pVector  /* ptr to receive current interrupt vector */    )    {    register int newLevel;    int localLevel;    UINT32 isr;    int key;#ifdef I80312INT_DEBUG    UINT32 secondary_check;#endif    static int preLevel = I80312INT_VEC_UART1;    isr = sysICUReadINTSRC();    /* Check for pending interrupts */    if ((isr & I80200_INTSRC_MASK) == 0)        {        i80312XInt0to2LvlCurrent = 0;        return ERROR;        }/* * Since current version of yavapai doesn't support the Interrupt Status * Register, we have to go and check each and every source XINT6, XINT7 and * PAL interrupt status register. And there is no Interrupts Status Registers * for XINT0, XINT1, XINT2 and XINT3. So, we check XINT6, XINT7 and PAL-ISR, * is none of them has generated the interrupt we ASSUME that one of XINT0-3 * has generated the interrupts. In that case we return XINT0's level. So the * interrupt handler for the XINT0 should call ALL XINT0, XINT1, XINT2 and * XINT3 handlers */    /* First check the XINT7 sources */#if defined(I80312INT_DEBUG) && defined(I80312INT_XINT3_DEBUG)    serialStringOut ("i80312IntLvlVecChk\r\n");#endif    /* Mask all the interrupts */    key = intLock ();    isr = *(volatile UINT32*)I80312_X7ISR;    intUnlock (key);    if (isr)        {        newLevel = I80312INT_LVL_BASE_XINT7;#ifdef I80312INT_DEBUG        serialStringOut ("\r\nInterrupt XINT7 0x");        serialHexOut (isr);        serialStringOut ("\r\n");        serialStringOut (">>> CPSR :  0x");        serialStringOut ("\r\n");#endif        }    else        {        /* check XINT6 sources */        /* Mask all the interrupts */        key = intLock ();        isr = *(volatile UINT32*)I80312_X6ISR;        intUnlock (key);        if (isr)            {            newLevel = I80312INT_LVL_BASE_XINT6;#ifdef I80312INT_DEBUG            serialStringOut ("\r\nInterrupt XINT6 0x");            serialHexOut (isr);            serialStringOut ("\r\n");            serialStringOut (">>> CPSR :  0x");            serialStringOut ("\r\n");#endif            }        else            {            /* check PAL sources */            /* Mask all the interrupts */            key = intLock ();            isr = I80310_PAL_XINT3_INT_ISR_RD();            intUnlock (key);            if (isr)                {                newLevel = I80312INT_LVL_BASE_XINT3;#ifdef I80312INT_XINT3_DEBUG                serialStringOut ("\r\nInterrupt XINT3 0x");                serialHexOut (isr);                serialStringOut ("\r\n");                serialStringOut (">>> CPSR :  0x");                serialStringOut ("\r\n");                if (isr & IQ80310_PAL_INT_MASK_TIMER)                  serialStringOut ("INT: Timer\r\n");                if (isr & IQ80310_PAL_INT_MASK_ETHERNET)                       serialStringOut ("INT: Eithernet\r\n");                if (isr & IQ80310_PAL_INT_MASK_UART1)                       serialStringOut ("INT: UART1\r\n");                if (isr & IQ80310_PAL_INT_MASK_UART2)                       serialStringOut ("INT: UART2\r\n");                if (isr & IQ80310_PAL_INT_MASK_SPCID)                       serialStringOut ("*** INT: SPCID ***\r\n");#endif#ifdef I80312INT_DEBUG                if (isr & IQ80310_PAL_INT_MASK_SPCID)                  {                       serialStringOut ("\r\n*** INT: SPCID *** 0x");                       serialHexOut (isr);                       serialStringOut ("\r\n");                  }#endif#ifdef I80312INT_HEART_BEAT                IQ80310_SEVEN_SEG_WRITE_MSB(IntMsb);                IQ80310_SEVEN_SEG_WRITE_LSB(IntLsb);                if (IntMsb == L7SEG_ALL_OFF)                  {                   IntCount++;                   if(IntCount > 10)                     {                      IntMsb = L7SEG_Dot;                      IntLsb = L7SEG_ALL_OFF;                      IntCount = 0;                     }                  }                else                  {                   IntCount++;                   if(IntCount > 10)                     {                      IntMsb = L7SEG_ALL_OFF;                      IntLsb = L7SEG_Dot;                      IntCount = 0;                     }                  }#endif                }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕不卡在线播放| 亚洲欧美日韩国产一区二区三区 | 日韩一区二区免费视频| 国产精品亚洲专一区二区三区| 一区二区三区成人在线视频| 久久久美女毛片| 欧美美女喷水视频| 不卡av电影在线播放| 久久国产人妖系列| 亚洲国产精品久久久久婷婷884 | 亚洲成人www| 亚洲色欲色欲www| 国产欧美日韩麻豆91| 日韩一区二区三区视频在线观看| 在线观看亚洲a| 成人国产精品免费观看| 国产黄色精品网站| 九九视频精品免费| 免费在线观看不卡| 三级成人在线视频| 亚洲va国产天堂va久久en| 国产精品初高中害羞小美女文| 精品久久国产老人久久综合| 欧美日韩电影在线播放| 欧美少妇一区二区| 色婷婷久久99综合精品jk白丝| 成人免费的视频| 粉嫩aⅴ一区二区三区四区| 经典三级在线一区| 蜜桃一区二区三区在线观看| 日韩电影在线一区二区| 午夜日韩在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 91福利在线导航| 99国产精品视频免费观看| 不卡的av电影| aaa亚洲精品| 99热在这里有精品免费| caoporn国产精品| 99在线精品免费| 97aⅴ精品视频一二三区| 岛国一区二区三区| 成人一区二区三区在线观看| 成人sese在线| 色综合久久中文字幕| 成人免费毛片高清视频| 99在线精品视频| 色哟哟一区二区| 欧美性极品少妇| 欧美另类变人与禽xxxxx| 91精品国产91久久综合桃花| 日韩视频免费观看高清完整版在线观看 | 亚洲欧美偷拍三级| 一区二区成人在线视频 | 日韩va亚洲va欧美va久久| 日本成人中文字幕在线视频 | 91美女视频网站| 91行情网站电视在线观看高清版| 欧美视频中文字幕| 欧美一三区三区四区免费在线看| 欧美sm极限捆绑bd| 国产精品无圣光一区二区| 亚洲欧洲另类国产综合| 亚洲成人激情综合网| 久久超级碰视频| 成人综合婷婷国产精品久久| 一本色道久久综合亚洲91| 欧美网站大全在线观看| 日韩午夜激情免费电影| 国产欧美日韩三区| 亚洲自拍偷拍av| 蜜桃一区二区三区在线| 成人av综合在线| 欧美日韩一区久久| 久久久久久久久99精品| 一区二区三区日韩欧美| 欧美aaaaaa午夜精品| 成人免费看黄yyy456| 欧美日韩成人综合在线一区二区 | 8x福利精品第一导航| 国产亚洲欧美中文| 亚洲影院在线观看| 国产麻豆精品视频| 欧洲亚洲精品在线| 国产午夜精品一区二区| 一区二区三区四区视频精品免费| 麻豆成人91精品二区三区| 99视频超级精品| 欧美成人福利视频| 一区二区三区在线播放| 国产乱对白刺激视频不卡| 91老师国产黑色丝袜在线| 91精品欧美久久久久久动漫| 亚洲欧美综合在线精品| 韩国欧美国产1区| 欧美性xxxxx极品少妇| 久久精品夜色噜噜亚洲a∨| 亚洲国产日韩a在线播放| 成人久久18免费网站麻豆| 欧美一区二区三区公司| 亚洲精品国产一区二区三区四区在线| 久久99国内精品| 欧美日韩国产精品成人| 亚洲三级视频在线观看| 国产毛片精品视频| 日韩一级二级三级精品视频| 亚洲精品综合在线| 国产成人夜色高潮福利影视| 欧美一级二级三级乱码| 亚洲一区二区偷拍精品| 成人久久久精品乱码一区二区三区| 日韩免费看的电影| 性做久久久久久免费观看| 色欧美片视频在线观看| 国产精品久久久一本精品| 国产精品综合二区| 精品国一区二区三区| 无码av免费一区二区三区试看| 色综合天天做天天爱| 国产日韩视频一区二区三区| 精品夜夜嗨av一区二区三区| 337p亚洲精品色噜噜噜| 亚洲国产精品一区二区尤物区| 色综合久久久久久久久| 国产精品少妇自拍| 丁香天五香天堂综合| ㊣最新国产の精品bt伙计久久| 国产乱码精品一区二区三区av| 日韩三级高清在线| 秋霞av亚洲一区二区三| 日韩一区二区中文字幕| 青娱乐精品视频| 91精品国产91综合久久蜜臀| 视频一区在线播放| 制服.丝袜.亚洲.另类.中文 | 夜夜嗨av一区二区三区网页 | 在线电影院国产精品| 亚洲h动漫在线| 欧美日韩一级片网站| 午夜欧美在线一二页| 538prom精品视频线放| 蜜臀精品一区二区三区在线观看| 91精品国产一区二区三区| 久久国产精品色| 久久综合九色综合欧美98| 国产精品一二三区| 国产精品网站在线| 91色porny| 亚洲第一电影网| 欧美成人猛片aaaaaaa| 国产成人综合在线观看| 中文字幕在线不卡视频| 在线观看亚洲精品视频| 日韩成人精品在线| 久久亚洲综合av| 成人高清免费观看| 亚洲一区二区三区四区在线观看| 911国产精品| 国产精品自拍av| 亚洲视频 欧洲视频| 欧美精品在线观看播放| 国产一区二区三区高清播放| 国产精品成人午夜| 欧美亚洲动漫另类| 免费视频最近日韩| 国产欧美综合在线观看第十页| www.欧美日韩国产在线| 亚洲国产你懂的| 久久综合色一综合色88| 99re这里只有精品视频首页| 偷拍亚洲欧洲综合| 日本一区二区视频在线| 色天天综合色天天久久| 日本va欧美va欧美va精品| 中文幕一区二区三区久久蜜桃| 色综合激情五月| 精品一区二区三区在线观看国产| 国产欧美日韩不卡| 精品视频一区三区九区| 国产高清久久久| 视频在线观看91| 国产精品区一区二区三| 欧美男人的天堂一二区| 成人免费视频一区| 日韩精品一级二级| 亚洲少妇30p| 26uuu另类欧美亚洲曰本| 欧美影院午夜播放| 国产成人久久精品77777最新版本| 国内精品免费**视频| 亚洲欧美日韩综合aⅴ视频| 日韩欧美一区中文| 91小视频在线观看| 国产精品一区免费在线观看| 亚洲国产成人av| 1024国产精品| 久久这里只有精品6| 欧美日韩国产不卡| 色综合激情久久| 成a人片亚洲日本久久|