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

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

?? oal_intr.h.svn-base

?? 這是三星的2443的wince的bootloader
?? SVN-BASE
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
//  Header: oal_intr.h
//
//  This header define OAL interrupt module. Module code implements all
//  functionality related to interrupt management.
//
//  Depending on CPU/SoC model the module can be implemented with platform
//  callbacks. This model is usefull on hardware where external secondary
//  interrupt controller is used.
//
//  Export for kernel/public interface:
//      * Interrupt handlers/SYS_INTR_XXXX
//      * OEMInterruptEnable
//      * OEMInterruptDisable
//      * OEMInterruptDone
//      * OEMIoControl/IOCTL_HAL_REQUEST_SYSINTR
//      * OEMIoControl/IOCTL_HAL_RELEASE_SYSINTR
//      * OEMIoControl/IOCTL_HAL_REQUEST_IRQ
//
//  Export for other OAL modules/protected interface:
//      * OALIntrInit (initialization)
//      * OALIntrStaticTranslate (initialization)
//      * OALIntrRequestSysIntr (KITL)
//      * Interrupt handler (timer)
//      * OAL_INTR_IRQ_MAXIMUM (power)
//      * OALPAtoVA (memory)
//
//  Internal module functions:
//      * OALIntrMapInit
//      * OALIntrReleaseSysIntr
//      * OALIntrTranslateIrq
//      * OALIntrTranslateSysIntr
//  
//  Platform callback module functions:
//      * BSPIntrInit
//      * BSPIntrRequestIrqs
//      * BSPIntrEnableIrq
//      * BSPIntrDisableIrq
//      * BSPIntrDoneIrq
//      * BSPActiveIrq
//
//
#ifndef __OAL_INTR_H
#define __OAL_INTR_H

#if __cplusplus
extern "C" {
#endif

//------------------------------------------------------------------------------
//
//  Define:  IRQ_MAXIMUM
//
//  This value define maximum number of IRQs. Even if there isn't any
//  limitation for this number in OAL library, Windows CE resource manager
//  support only 64 IRQs currently.
//
#define OAL_INTR_IRQ_MAXIMUM        64

//------------------------------------------------------------------------------
//
//  Define:  IRQ_UNDEFINED
//
//  Invalid IRQ number used to verify SYSINTR/IRQ translations
//
#define OAL_INTR_IRQ_UNDEFINED      (-1)

//------------------------------------------------------------------------------
//
//  Define:  OAL_INTR_STATIC/OAL_INTR_FORCE_STATIC
// 
//  This constants are used to specify type of IRQ to SYSINTR mapping sets
//  in OALIntrRequestSysIntr function. When none flag is set backward
//  compatible method is used (first request for given IRQ creates static
//  mapping). Flag OAL_INTR_TRANSLATE allows to use obsolete 
//  IOCTL_HAL_TRANSLATE_IRQ semantic (if static mapping exists return mapped
//  SYSINTR otherwise create new mapping).
//
#define OAL_INTR_DYNAMIC            (1 << 0)
#define OAL_INTR_STATIC             (1 << 1)
#define OAL_INTR_FORCE_STATIC       (1 << 2)
#define OAL_INTR_TRANSLATE          (1 << 3)

//------------------------------------------------------------------------------
//
//  Function: OALIoCtlHalRequestSysIntr
//
//  This function is called form OEMIoControl for IOCTL_HAL_REQUEST_SYSINTR.
//
BOOL OALIoCtlHalRequestSysIntr(UINT32, VOID*, UINT32, VOID*, UINT32, UINT32*);

//------------------------------------------------------------------------------
//
//  Function: OALIoCtlHalReleaseSysIntr
//
//  This function is called form OEMIoControl for IOCTL_HAL_RELEASE_SYSINTR.
//
BOOL OALIoCtlHalReleaseSysIntr(UINT32, VOID*, UINT32, VOID*, UINT32, UINT32*);

//------------------------------------------------------------------------------
//
//  Function: OALIoCtlHalRequestIrq
//
//  This function is called form OEMIoControl for IOCTL_HAL_REQUEST_IRQ.
//
BOOL OALIoCtlHalRequestIrq(UINT32, VOID*, UINT32, VOID*, UINT32, UINT32*);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrInit/BSPIntrInit
//
//  This function initialize interrupt hardware. It is usally called at system
//  initialization. If implementation uses platform callback it will call
//  BPSIntrInit.
//
BOOL OALIntrInit();
BOOL BSPIntrInit();

//------------------------------------------------------------------------------
//
//  Function:  OALIntrMapInit
//
//  This function must be called from OALIntrInit to initialize IRQ/SYSINTR
//  mapping structure.
//
VOID OALIntrMapInit();

//------------------------------------------------------------------------------
//
//  Function:  OALIntrRequestSysIntr
//
//  This function allocate new SYSINTR value for given IRQ list. Based 
//  on flags parameter it also can set backward static mapping (IRQ -> SYSINTR)
//  see OAL_INTR_xxx above.
//
UINT32 OALIntrRequestSysIntr(UINT32 count, const UINT32 *pIrqs, UINT32 flags);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrReleaseSysIntr
//
//  This function release SYSINTR. It also clears backward static mapping 
//  (IRQ -> SYSINTR) if it exists.
//
BOOL OALIntrReleaseSysIntr(UINT32 sysIntr);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrReleaseSysIntr
//
//  This function set static IRQ <-> SYSINTR mapping for given values. It is
//  typically used in system initialization for legacy drives.
//
VOID OALIntrStaticTranslate(UINT32 sysIntr, UINT32 irq);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrTranslateSysIntr
//
//  This function return list of IRQs for give SYSINTR.
//
BOOL OALIntrTranslateSysIntr(
    UINT32 sysIntr, UINT32 *pCount, const UINT32 **ppIrqs
);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrRequestIrq
//
//  This function return SYSINTR for given IRQ based on static mapping.
//
UINT32 OALIntrTranslateIrq(UINT32 irq);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrRequestIrq/BSPIntrRequestIrq
//
//  This function return list of IRQs for device identified by DEVICE_LOCATION 
//  parameter. If implementation uses platform callbacks it should call
//  BSPIntrRequestIrq  in case that it doesn't recognise device.
//  On input *pCount contains maximal number of IRQs allowed in list. On return
//  it returns number of IRQ in list.
//
BOOL OALIntrRequestIrqs(DEVICE_LOCATION *pDevLoc, UINT32 *pCount, UINT32 *pIrqs);
BOOL BSPIntrRequestIrqs(DEVICE_LOCATION *pDevLoc, UINT32 *pCount, UINT32 *pIrqs);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrEnableIrqs/BSPIntrEnableIrqs
//
//  This function enable list of interrupts identified by IRQ. If 
//  implementation uses platform callbacks OALIntrEnableIrqs must call
//  BSPIntrEnableIrq for IRQ before it enables this IRQ. The BSPIntrEnableIrq
//  can do board specific action and optionaly modify IRQ.
//
BOOL OALIntrEnableIrqs(UINT32 count, const UINT32 *pIrqs);
UINT32 BSPIntrEnableIrq(UINT32 irq);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrDisableIrqs/BSPIntrDisableIrqs
//
//  This function disable list of interrupts identified by IRQ. If
//  implementation uses platform callbacks OALIntrDisableIrqs must call
//  BSPIntrDisableIrq for each IRQ in list before it disables this IRQ.
//  The BSPIntrEnableIrq can do board specific action and optionaly modify IRQ.
//
VOID OALIntrDisableIrqs(UINT32 count, const UINT32 *pIrqs);
UINT32 BSPIntrDisableIrq(UINT32 irq);

//------------------------------------------------------------------------------
//
//  Function:  OALIntrDoneIrqs/BSPIntrDoneIrqs
//
//  This function finish list of interrupts identified by IRQ. If
//  implementation uses platform callbacks OALIntrDoneIrqs must call
//  BSPIntrDoneIrq for each IRQ in list before it re-enable this IRQ. 
//  The BSPIntrDoneIrq can do board specific action and optionaly modify IRQ.
//
VOID OALIntrDoneIrqs(UINT32 count, const UINT32 *pIrqs);
UINT32 BSPIntrDoneIrq(UINT32 irq);

//------------------------------------------------------------------------------
//
//  Function:  BSPIntrActiveIrq
//
//  This function is called from interrupt handler if implementation uses
//  platform callbacks. It allows translate IRQ for chaining controller
//  interrupt.
//
UINT32 BSPIntrActiveIrq(UINT32 irq);

//------------------------------------------------------------------------------

#if __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国v欧美v亚洲v日本v| www.久久久久久久久| 国产九色精品成人porny| 成人性色生活片| 欧美精品日日鲁夜夜添| 国产精品美女久久久久av爽李琼| 香蕉久久一区二区不卡无毒影院| 国产一区二区按摩在线观看| 欧美在线999| 欧美激情艳妇裸体舞| 日韩在线一区二区三区| 成人免费看的视频| 欧美大片国产精品| 亚洲午夜私人影院| 99久久夜色精品国产网站| 日韩午夜在线播放| 亚洲一级片在线观看| 99视频国产精品| 国产日韩欧美综合在线| 蜜桃av一区二区三区电影| 欧美专区日韩专区| 亚洲欧洲性图库| 丁香婷婷综合色啪| 日韩三级视频中文字幕| 日韩高清国产一区在线| 欧美猛男男办公室激情| 亚洲综合成人在线视频| 91浏览器在线视频| 最新欧美精品一区二区三区| 成人午夜激情在线| 久久亚洲精华国产精华液| 久久99久久99| 精品久久五月天| 国产一区二区三区日韩| 精品国产亚洲在线| 久久se这里有精品| 精品久久久久久久一区二区蜜臀| 天堂午夜影视日韩欧美一区二区| 欧美在线综合视频| 亚洲图片欧美视频| 欧美视频在线播放| 丝袜美腿亚洲一区二区图片| 欧美天堂一区二区三区| 亚洲电影一区二区| 欧美一区二区视频观看视频| 蜜臀av亚洲一区中文字幕| 欧美成人性福生活免费看| 久久成人18免费观看| 精品国产一区二区三区四区四 | 777午夜精品免费视频| 香蕉久久一区二区不卡无毒影院| 91精品欧美久久久久久动漫| 免费在线观看一区二区三区| 精品区一区二区| 9l国产精品久久久久麻豆| 亚洲欧美乱综合| 欧美日本一区二区| 国产一区在线看| 亚洲欧美综合色| 欧美色综合天天久久综合精品| 日韩在线播放一区二区| 国产亚洲成aⅴ人片在线观看| 97se亚洲国产综合自在线不卡 | 在线观看网站黄不卡| 日日夜夜精品免费视频| 欧美精品一区二区三区很污很色的| 国产91丝袜在线18| 亚洲国产成人porn| 久久久久国产精品麻豆ai换脸| 91小视频在线免费看| 蜜桃av噜噜一区| 亚洲一级电影视频| 99麻豆久久久国产精品免费优播| 欧美羞羞免费网站| 亚洲图片欧美视频| 精品久久久久99| 蜜桃视频一区二区| 91精品国产高清一区二区三区 | 性做久久久久久免费观看欧美| 日韩欧美久久久| 99精品视频中文字幕| 日韩成人免费电影| 国产精品美女久久久久久久网站| 欧美日韩国产小视频在线观看| 国产乱码一区二区三区| 午夜精品久久久久久久蜜桃app| 国产农村妇女精品| 国产日韩精品一区二区三区在线| 日韩欧美在线一区二区三区| 91视频观看免费| 国产一区二区三区免费观看| 亚洲网友自拍偷拍| 亚洲欧美中日韩| 精品国产露脸精彩对白 | 国产精品色呦呦| 精品区一区二区| 欧美日韩情趣电影| 色菇凉天天综合网| 国产成人在线视频网站| 久久精品国产秦先生| 亚洲图片欧美综合| 伊人婷婷欧美激情| 亚洲三级理论片| 国产精品婷婷午夜在线观看| 久久免费偷拍视频| 久久综合色鬼综合色| 欧美一级午夜免费电影| 欧美日韩在线电影| 色狠狠综合天天综合综合| 成人手机电影网| 久久久亚洲欧洲日产国码αv| 91女神在线视频| 亚洲日本在线天堂| 国产蜜臀av在线一区二区三区 | 99国内精品久久| 国产精品一级片| 国产一区二区调教| 91麻豆精品国产91久久久久| 日本韩国精品在线| 韩国av一区二区三区四区| 国产精品久久久久久久久搜平片| 日韩精品一区二区三区视频播放 | 亚洲欧美色图小说| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久9999吃药| 中文字幕欧美三区| 国产精品乱人伦| 亚洲精品第一国产综合野| 亚洲成va人在线观看| 亚洲午夜视频在线| 日本欧美在线看| 国产美女精品在线| 国产成人精品午夜视频免费| 不卡的电影网站| 色综合视频在线观看| 91高清视频在线| 5566中文字幕一区二区电影| 日韩免费看的电影| 国产午夜精品久久| 亚洲色图制服丝袜| 欧美丰满高潮xxxx喷水动漫| 精品国产伦理网| 99国产精品99久久久久久| 一本大道综合伊人精品热热| 在线观看网站黄不卡| 欧美一区二区三区在线| 亚洲精品在线观看网站| 亚洲色图在线播放| 蜜桃一区二区三区四区| 成人在线综合网| 欧美日韩国产免费一区二区| 精品少妇一区二区三区在线视频 | 欧美日韩一区二区三区四区| 日韩三区在线观看| 亚洲欧美综合色| 日本成人在线网站| 成人黄色小视频在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩成人激情| 精品久久久久久最新网址| 18欧美乱大交hd1984| 国产成人综合亚洲网站| 亚洲女性喷水在线观看一区| 中文一区二区完整视频在线观看 | 日本一区二区免费在线| 亚洲妇女屁股眼交7| 国产成人亚洲综合a∨猫咪| 欧美日本高清视频在线观看| 国产人成亚洲第一网站在线播放| 亚洲成人免费电影| 成人午夜电影久久影院| 欧美日本在线观看| 国产精品久久一卡二卡| 国产一区激情在线| 欧美丰满嫩嫩电影| 亚洲乱码国产乱码精品精的特点| 国产一区二区三区在线观看免费视频 | 国产一区二区三区综合| 欧美猛男男办公室激情| 亚洲男人的天堂在线aⅴ视频| 国产一区二区三区观看| 日本高清不卡视频| 精品一区二区三区免费| 久久先锋影音av鲁色资源网| 日韩国产欧美在线观看| 欧美在线免费观看亚洲| 亚洲欧洲av在线| 成人国产精品免费观看| 久久久.com| 久久精品国产99国产| 9191成人精品久久| 婷婷中文字幕一区三区| 在线视频中文字幕一区二区| 亚洲欧美在线观看| av成人免费在线观看| 中日韩av电影| 白白色 亚洲乱淫| 国产精品久久福利| 成人app下载| 亚洲图片激情小说|