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

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

?? cpm8intr.c

?? 這是單板上DPRAM的驅動程序
?? C
字號:
/* @(#) pSOSystem PowerPC/V2.2.2: bsps/devices/icontrol/cpm8intr.c 2.4 97/09/26 08:52:39 */
/***********************************************************************/
/*                                                                     */
/*   MODULE:  bsps/devices/icontrol/cpm8intr.c                         */
/*   DATE:    97/09/26                                                 */
/*   PURPOSE: CPM interrupt hanling for MPC8xx processor.              */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*          Copyright 1991 - 1997, Integrated Systems, Inc.            */
/*                      ALL RIGHTS RESERVED                            */
/*                                                                     */
/*   Permission is hereby granted to licensees of Integrated Systems,  */
/*   Inc. products to use or abstract this computer program for the    */
/*   sole purpose of implementing a product based on Integrated        */
/*   Systems, Inc. products.   No other rights to reproduce, use,      */
/*   or disseminate this computer program, whether in part or in       */
/*   whole, are granted.                                               */
/*                                                                     */
/*   Integrated Systems, Inc. makes no representation or warranties    */
/*   with respect to the performance of this computer program, and     */
/*   specifically disclaims any responsibility for any damages,        */
/*   special or consequential, connected with the use of this program. */
/*                                                                     */
/***********************************************************************/
#include <types.h>
#include <bspfuncs.h>
#include <icontrol/mpc8xx.h>
#include <powerpc/isrppc.h>
#include "board.h"
#include "bsp.h"

/*---------------------------------------------------------------------*/
/* Symbol Definitions                                                  */
/*---------------------------------------------------------------------*/
#define MAX_CPM_HNDLRS     32      /* Maximum # of interrupt  handlers */


/*---------------------------------------------------------------------*/
/* Table of the CPM interrupt handlers                                 */
/*---------------------------------------------------------------------*/
static ISR_HDNL_ENTRY CpmIsrEntry[MAX_CPM_HNDLRS];
void (*CpmIntrDefaultHandler)(long);


/***********************************************************************/
/* CpmIntrHandler: main interrupt handler for CPM interrupts            */
/*                                                                     */
/*      INPUTS: none                                                   */
/*       NOTES: The IsrMain() calls this routine to handle all CPM     */
/*              interrupts.                                            */
/*                                                                     */
/***********************************************************************/
void CpmIntrHandler(void * dummy)
{
    ULONG ivec;
    ULONG s;
    
    /* dummy=dummy; */
    
    /*----------------------------------------------------------------*/
    /* Acknowledge the interrupt and get the vector.                  */
    /*----------------------------------------------------------------*/
    S_CP_IntVectorReg = 0x01;
    ivec =  S_CP_IntVectorReg ;
    ivec = ivec >> 11;

    /*----------------------------------------------------------------*/
    /* At this point, the CPM to SIU interrupt is masked off via      */
    /* SIMASK register and the CPU interrupt is enabled in IsrMain(). */
    /* The current CPM device interrupt (e.g. SMC or SCC interruots)  */
    /* was acknowledged above. By the acknowledgement, all CPM device */
    /* interrupts which have the same or lower priorities are masked  */
    /* off and they will be enabled again when the bit in the CISR    */
    /* (CP In-servcie register) cleared. The bit related to CPM       */
    /* interrupt in the SIPEND is also cleared through the            */
    /* acknowledgement.                                               */        
    /*                                                                */
    /* To allow the CPM device with the higher priorities to be       */
    /* handled (supporting of nested CPM interrupts), we have to set  */
    /* the mask bit in SIMASK register for CPM.                       */
    /*----------------------------------------------------------------*/
    s = splx(MAX_ILEV);
    S_SiMaskRegister |= SIU_ILEV_MASK_BIT(CPM_IRQ_LEVEL);
    splx(s);

    if (CpmIsrEntry[ivec].isr_handler) {
        (*CpmIsrEntry[ivec].isr_handler)(CpmIsrEntry[ivec].arg);

    }
    else if(CpmIntrDefaultHandler) 
         (*CpmIntrDefaultHandler)(ivec);

    /*---------------------------------------------------------------*/
    /* Disable the CPM interrupt and then clear the in-servcie bit.  */
    /*---------------------------------------------------------------*/
    s = splx(MAX_ILEV);
    S_SiMaskRegister &= ~(SIU_ILEV_MASK_BIT(CPM_IRQ_LEVEL));
    splx(s);

    /*---------------------------------------------------------------*/
    /* clear the in-servcie bit.                                     */
    /*---------------------------------------------------------------*/
    S_CP_InServiceReg = 1 << ivec;

}


/***********************************************************************/
/* CpmIsrAddhHandler: Set up the ISR in the CPM Interrupt Table        */
/*                                                                     */
/* Purpose: To add a handler for CPM devices, i.e SCCs, SMCs, etc.     */
/*          Not to be used for external devices hooked to SIU's IRQ    */
/*          lines.                                                     */
/*                                                                     */
/*     INPUTS: vector number, default Handler address                  */
/*     NOTE(S):                                                        */
/*                                                                     */
/***********************************************************************/
long CpmIsrAddHandler(ULONG vector, void *handler, void * arg)
{

    /*-----------------------------------------------------------------*/
    /* Update Interrupt Handler Table with ISR address                 */
    /*-----------------------------------------------------------------*/
    vector -= CPM_VECT_BASE;
    if(vector < MAX_CPM_HNDLRS) {
        CpmIsrEntry[vector].isr_handler = (void (*)(void *)) handler;
        CpmIsrEntry[vector].arg = arg;
        return 0;
        }
    else
        return -1;
}

/***********************************************************************/
/* CpmIsrDelHandler: delete the interrupt handler.                     */
/***********************************************************************/
long CpmIsrDelHandler(ULONG vector, void *handler, void * arg)
{
    return 0;
}

/***********************************************************************/
/* CpmIsrInit: Set the default interrupt vector                        */
/*                                                                     */
/*      INPUTS: Default Handler address                                */
/*     NOTE(S):                                                        */
/*                                                                     */
/***********************************************************************/
void CpmIsrInit(void (*handler)(long))
{
    register ULONG i;
 
    for (i = 0; i < MAX_CPM_HNDLRS; i++) {
        CpmIsrEntry[i].isr_handler = 0;
        CpmIsrEntry[i].next = 0;
        }
    
    CpmIntrDefaultHandler = handler;
    IsrAddHandler(SIU_ILEV_TO_PRIORITY(CPM_IRQ_LEVEL) + SIU_VECT_BASE,
                  (void *)CpmIntrHandler, 0);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利不卡视频| a4yy欧美一区二区三区| 国产精品久久久久久久午夜片| 欧美亚洲高清一区二区三区不卡| 激情综合色丁香一区二区| 亚洲免费观看高清完整版在线观看熊| 国产精品久久久久aaaa樱花| 欧美色欧美亚洲另类二区| 国产电影一区在线| 精品一区二区影视| 日日欢夜夜爽一区| 亚洲一级在线观看| 日韩毛片精品高清免费| 国产亚洲精久久久久久| 欧美成人在线直播| 欧美电影在线免费观看| 在线视频欧美精品| 91看片淫黄大片一级| 粉嫩久久99精品久久久久久夜| 蜜臀a∨国产成人精品| 亚洲午夜在线视频| 亚洲精品免费播放| 亚洲欧美日韩国产另类专区| 国产精品国产自产拍在线| 久久女同互慰一区二区三区| 91精品国产欧美一区二区成人 | 天天综合色天天综合色h| 亚洲免费在线观看| 亚洲丝袜另类动漫二区| 国产精品水嫩水嫩| 国产精品久久久久影院亚瑟| 日本一区二区成人| 中文字幕高清不卡| 中文字幕一区二区三中文字幕 | 丝袜a∨在线一区二区三区不卡| 亚洲综合图片区| 一区二区三区四区高清精品免费观看| 中文字幕一区二区日韩精品绯色| 国产精品色婷婷久久58| 国产精品护士白丝一区av| 手机精品视频在线观看| 亚洲国产一区二区视频| 亚洲乱码中文字幕| 一区二区免费在线| 亚洲一区二区三区视频在线播放| 亚洲国产综合人成综合网站| 亚洲图片欧美综合| 石原莉奈一区二区三区在线观看| 日韩国产一区二| 蜜臂av日日欢夜夜爽一区| 国内成+人亚洲+欧美+综合在线| 狠狠狠色丁香婷婷综合激情| 国产不卡一区视频| 99视频精品在线| 欧美伊人久久大香线蕉综合69| 精品视频免费看| 日韩精品中文字幕一区| 国产午夜亚洲精品不卡| 国产精品第13页| 午夜视频久久久久久| 奇米色777欧美一区二区| 国产真实乱偷精品视频免| 成人动漫av在线| 欧美性xxxxxxxx| 欧美va在线播放| 中文字幕一区二区三区不卡在线| 亚洲成人动漫一区| 久久99这里只有精品| 成人激情电影免费在线观看| 色www精品视频在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲综合丁香婷婷六月香| 日日欢夜夜爽一区| 国产aⅴ精品一区二区三区色成熟| 色婷婷激情综合| 欧美成人bangbros| 亚洲欧美自拍偷拍| 99精品桃花视频在线观看| 色综合久久66| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品妹子av| 日韩精品高清不卡| 成人毛片老司机大片| 欧美色视频一区| 中文字幕欧美激情一区| 日韩激情一二三区| 99视频一区二区| 精品国产一区二区亚洲人成毛片| 中文字幕亚洲在| 精品一区二区在线免费观看| 日本久久电影网| 国产亚洲综合性久久久影院| 亚洲一区二区视频在线观看| 国产精品一区二区久久不卡| 欧美性猛交xxxxxx富婆| 国产精品每日更新| 日本大胆欧美人术艺术动态 | 精品噜噜噜噜久久久久久久久试看| 国产精品久久久久婷婷二区次 | 91网站黄www| 精品91自产拍在线观看一区| 亚洲超碰97人人做人人爱| 成人国产电影网| 26uuu欧美日本| 日本午夜精品视频在线观看| 91久久久免费一区二区| 国产午夜亚洲精品理论片色戒| 日韩av在线免费观看不卡| 91蜜桃网址入口| 国产午夜精品一区二区| 久久精品久久综合| 欧美精品日日鲁夜夜添| 亚洲日本va午夜在线影院| 成人免费视频网站在线观看| 精品欧美一区二区久久| 日韩精品午夜视频| 欧美日韩不卡在线| 夜夜精品浪潮av一区二区三区| 国产成人亚洲精品狼色在线| 欧美一区二区三区在线看| 亚洲成a人v欧美综合天堂下载| 99r精品视频| 中文字幕在线视频一区| 国产福利一区在线观看| 久久在线免费观看| 精一区二区三区| 亚洲精品一线二线三线| 91福利在线观看| 一区精品在线播放| 91在线观看地址| 一区二区三区四区在线| 99久精品国产| 亚洲另类色综合网站| 色婷婷久久99综合精品jk白丝| 亚洲欧洲综合另类| 色哟哟在线观看一区二区三区| 亚洲免费电影在线| 色婷婷久久一区二区三区麻豆| 曰韩精品一区二区| 欧美视频在线播放| 日韩在线一区二区| 日韩一二三四区| 精品伊人久久久久7777人| 精品黑人一区二区三区久久| 国产精品一区在线| 国产精品高潮呻吟久久| 99麻豆久久久国产精品免费优播| 成人免费一区二区三区在线观看| 色婷婷激情一区二区三区| 亚洲一本大道在线| 91麻豆精品国产91| 日本免费新一区视频| 久久久久国产精品免费免费搜索| 国产精品自拍三区| 成人欧美一区二区三区视频网页| 日本丶国产丶欧美色综合| 亚洲国产精品一区二区久久恐怖片 | 自拍偷拍亚洲综合| 欧美人妇做爰xxxⅹ性高电影| 日韩在线观看一区二区| 久久久久久久久久电影| 91丨九色丨黑人外教| 亚洲一区二区综合| 亚洲精品一区二区三区在线观看| 不卡电影一区二区三区| 亚洲一区中文日韩| 欧美mv日韩mv| 91在线高清观看| 日产精品久久久久久久性色| 日本一区二区三区在线不卡| 欧美中文字幕不卡| 国产在线看一区| 亚洲美女精品一区| 日韩精品一区二区三区老鸭窝| 粉嫩一区二区三区在线看| 亚洲第一精品在线| 国产日韩欧美不卡在线| 欧美日韩国产影片| 高清国产一区二区三区| 亚洲一级二级在线| 国产视频一区不卡| 国产精品私人自拍| 欧美日韩成人综合在线一区二区| 国内精品免费**视频| 亚洲丝袜美腿综合| 欧美一级高清片| 99国内精品久久| 精品一区二区三区免费观看| 亚洲男人的天堂网| 2024国产精品视频| 欧美亚洲动漫精品| 成人午夜视频福利| 日韩成人免费在线| 1区2区3区精品视频| 久久免费偷拍视频| 欧美丝袜第三区| 成人av在线看| 伦理电影国产精品| 首页欧美精品中文字幕| 日韩美女视频一区二区|