亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美一区二区免费| 日韩欧美高清一区| 精久久久久久久久久久| 一区二区三区加勒比av| 亚洲精品在线三区| 欧美日韩美女一区二区| 不卡大黄网站免费看| 国产中文字幕一区| 婷婷成人激情在线网| 日韩一区在线看| 久久精品一区八戒影视| 日韩一区二区三区观看| 欧美日韩日日骚| 色综合视频一区二区三区高清| 国产精品夜夜嗨| 热久久一区二区| 天堂午夜影视日韩欧美一区二区| 国产精品福利在线播放| 久久亚洲私人国产精品va媚药| 7777精品伊人久久久大香线蕉超级流畅 | 色一情一伦一子一伦一区| 国产一区二区三区久久久| 奇米色777欧美一区二区| 一片黄亚洲嫩模| 亚洲欧洲av色图| 国产精品毛片高清在线完整版| 精品成人佐山爱一区二区| 欧美猛男gaygay网站| 色婷婷久久久亚洲一区二区三区 | 91麻豆国产福利在线观看| 国产不卡视频在线观看| 国产成人精品综合在线观看| 激情欧美日韩一区二区| 韩国v欧美v日本v亚洲v| 捆绑变态av一区二区三区| 免费成人在线视频观看| 全国精品久久少妇| 激情久久五月天| 韩国女主播成人在线| 精品一区二区三区在线播放| 久久国产欧美日韩精品| 麻豆精品视频在线观看视频| 麻豆精品一区二区av白丝在线| 久久精品国产久精国产| 国模一区二区三区白浆| 国产成人8x视频一区二区| 成人午夜在线视频| 94-欧美-setu| 欧美日韩一二三| 日韩一区二区精品葵司在线| 日韩女同互慰一区二区| 2024国产精品视频| 国产日韩精品一区二区三区在线| 中日韩av电影| 亚洲男人天堂av网| 午夜精品在线视频一区| 麻豆精品精品国产自在97香蕉| 美女脱光内衣内裤视频久久影院| 国产乱子伦一区二区三区国色天香| 国产精品99久久不卡二区| 99久久久免费精品国产一区二区| 91久久精品一区二区三区| 欧美日本高清视频在线观看| 精品国产乱码久久久久久图片| 国产午夜精品久久久久久久| 1区2区3区欧美| 亚洲丶国产丶欧美一区二区三区| 日韩精品一区第一页| 一本色道**综合亚洲精品蜜桃冫 | 不卡av在线免费观看| 色成人在线视频| 欧美一区二区久久| 欧美国产精品一区| 亚洲成人黄色影院| 国产福利91精品一区二区三区| 91麻豆精品秘密| 欧美一区二区三区视频在线| 欧美国产视频在线| 亚洲sss视频在线视频| 国产一区二区精品久久91| 91丝袜国产在线播放| 日韩欧美国产电影| 玉米视频成人免费看| 国产在线视频不卡二| 色8久久人人97超碰香蕉987| 欧美大片一区二区| 亚洲激情男女视频| 国产一区二区在线电影| 欧美日本国产一区| 一区视频在线播放| 久久国产成人午夜av影院| 99久久精品国产导航| 精品久久人人做人人爰| 亚洲综合网站在线观看| 国产99久久久久久免费看农村| 在线观看视频一区| 欧美激情综合在线| 欧美aa在线视频| 色天使色偷偷av一区二区| 久久久久久久久久久久久女国产乱| 一区二区成人在线视频| 国产成人精品午夜视频免费| 91精品在线观看入口| 日韩一区在线免费观看| 国产激情视频一区二区三区欧美| 欧美日韩aaaaa| 亚洲精品日韩综合观看成人91| 国产乱淫av一区二区三区| 欧美日韩夫妻久久| 亚洲欧美日韩小说| 成人午夜视频网站| 欧美精品一区二区三区很污很色的| 亚洲电影你懂得| 色播五月激情综合网| 中文字幕在线不卡视频| 国产精品1区2区| 久久综合九色综合欧美就去吻| 天天色综合天天| 欧美色综合久久| 亚洲精品国产成人久久av盗摄 | 欧美日韩不卡在线| 亚洲一区视频在线| 日本精品视频一区二区| 亚洲国产精品精华液2区45| 国内精品国产成人国产三级粉色| 欧美三级资源在线| 一区二区在线电影| 色综合天天综合网国产成人综合天| 国产亚洲欧美日韩在线一区| 韩国女主播一区二区三区| 欧美mv日韩mv国产网站app| 日本美女一区二区三区视频| 欧美日韩电影在线播放| 亚洲丰满少妇videoshd| 欧美日韩免费观看一区三区| 亚洲永久免费av| 欧美精品日韩一本| 欧美aaa在线| 久久综合网色—综合色88| 国产精品一区免费在线观看| 国产日产精品1区| 99久久99久久精品免费看蜜桃| 中文字幕中文字幕中文字幕亚洲无线 | 日本aⅴ亚洲精品中文乱码| 91精品在线观看入口| 免费观看一级特黄欧美大片| 91麻豆精品国产91久久久久久久久 | 黑人巨大精品欧美一区| 久久夜色精品一区| 成人av资源在线观看| 国产精品毛片a∨一区二区三区| 99久久夜色精品国产网站| 亚洲精品国产品国语在线app| 欧美日韩国产高清一区| 国产自产2019最新不卡| 中文字幕一区二区三区在线观看| 色婷婷综合久久久中文字幕| 亚洲国产精品麻豆| 日韩欧美激情四射| 成人激情免费视频| 亚洲午夜久久久久久久久久久 | 亚洲另类在线一区| 欧美日韩一卡二卡| 激情伊人五月天久久综合| 亚洲国产精品精华液ab| 欧美视频精品在线观看| 久久av资源站| 亚洲欧洲精品成人久久奇米网| 日本韩国欧美国产| 日本女人一区二区三区| 中文字幕av免费专区久久| 欧美亚洲国产一区二区三区va| 蜜臀久久久99精品久久久久久| 久久久精品2019中文字幕之3| 一本大道久久a久久综合| 日韩一区欧美二区| 国产精品美女久久久久aⅴ国产馆| 欧美性高清videossexo| 日韩女优制服丝袜电影| 亚洲影院久久精品| 久久亚洲精品国产精品紫薇| 99精品偷自拍| 日本亚洲最大的色成网站www| 国产亚洲婷婷免费| 欧美日韩久久不卡| 成+人+亚洲+综合天堂| 日本一区中文字幕| 亚洲免费看黄网站| 精品成人一区二区三区| 欧美午夜不卡视频| av一区二区久久| 久久精品99国产精品日本| 成人欧美一区二区三区视频网页| 欧美肥胖老妇做爰| 99精品视频在线免费观看| 免费观看一级特黄欧美大片| 日韩毛片视频在线看| 久久久精品黄色| 欧美日韩久久一区二区| 美腿丝袜一区二区三区|