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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? syspci.c

?? bsp for px270 SCAL的bsp 已經(jīng)調(diào)試通過 for vxworks5.5
?? C
字號:
/* sysPci.c - pxa270 PCI autoconfig support *//* Copyright 2002 Wind River Systems, Inc. All Rights Reserved *//*modification history--------------------01a,21may02,scm written.*//*   TODO - Fill in this file with I/O addresses and related constants for the          pxa270 BSP. Anything with "pxa270" as a prefix needs to examined           and re-named to id the BSP (i.e. iq80321, iq80310, etc.) *//*DESCRIPTIONThis module contains the "non-generic" or "board specific" PCI-PCIbridge initialization code.*//* includes */#include "vxWorks.h"#include "config.h"#include "stdio.h"#include "logLib.h"#include "taskLib.h"#include "end.h"#ifdef  INCLUDE_PCI/* defines *//* global */IMPORT END_TBL_ENTRY endDevTbl[];END_TBL_ENTRY   *pendDevTbl = endDevTbl;/* include */#include "drv/pci/pciConfigLib.h"#include "drv/pci/pciConfigLib.c"#ifdef INCLUDE_SHOW_ROUTINES#include "drv/pci/pciConfigShow.c" /* display of PCI config space */#endiftypedef struct{    UINT32    pciVend;    UINT32    pciDevice;}SYS_PCI_IDENT;/* local *//* forward declarations */LOCAL UINT32 sysPciEncode (UINT32 bus, UINT32 dev, UINT32 func);STATUS sysPciCfgWrite (int bus, int dev, int func, int offset, int size, UINT32 data);STATUS sysPciCfgRead (int bus, int dev, int func, int offset, int size, void *data);STATUS sysPciFindDevices (SYS_PCI_IDENT * pDeviceList, int index, int * pBusNo,                          int * pDeviceNo, UINT16 * pVendorId, UINT16 * pDeviceId);void sysPciInit (void);void sysPciInit2 (void);void sysPciAbortsClear(void);/********************************************************************************* sysPciEncode - encode parameters for the Configuration Address Register** This routine packs three parameters into one integer for accessing the* Configuration Address Register** RETURNS: integer encoded version of bus, device, and function numbers.*/LOCAL UINT32 sysPciEncode (    UINT32 bus,    UINT32 dev,    UINT32 func    )    {    if(bus == 0)        {         return (( 1 << ((dev & 0x1f) + 16)) | ((dev & 0x1f) << 11) | ((func & 7) << 8));        }    return (((bus & 0xff) << 16) | ((dev & 0x1f) << 11) | ((func & 7) << 8) | 1);    }/********************************************************************************* sysPciCfgWrite - write to one PCI configuration register location of the*                  specified size (1, 2 or 4 bytes).** This routine writes one PCI configuration space location** RETURNS: OK or ERROR**/STATUS sysPciCfgWrite(    int bus,    int dev,    int func,    int offset,    int size,    UINT32 data    )    {    volatile UINT32 pciDevice;    int            lockKey;    STATUS         rc;    unsigned short dus;    unsigned char  duc;/*  * TODO -  * supply correct OCCAR & OCCDR reg definitions for pxa270 */    pciDevice = sysPciEncode(bus,dev,func);    /* write cfg space data */    switch(size)        {        case 4:            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_WRITE, 4, (char *)&data);            intUnlock(lockKey);            break;        case 2:            dus = (unsigned short)data;            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_WRITE, 2, (char *)&dus);            intUnlock(lockKey);            break;        default:            duc = (unsigned char)data;            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_WRITE, 1, (char *)&duc);            intUnlock(lockKey);        }    return rc;    }/********************************************************************************* sysPciCfgRead - reads one PCI configuration space register location of the*                 specified size (1, 2 or 4 bytes).** This routine reads one PCI configuration register location** RETURNS : OK or ERROR*/STATUS sysPciCfgRead(    int bus,    int dev,    int func,    int offset,    int size,    void *data    )    {    volatile UINT32 pciDevice;    int       lockKey;    STATUS    rc;/*  * TODO -  * supply correct OCCAR & OCCDR reg definitions for pxa270 */    pciDevice = sysPciEncode(bus,dev,func);    /* read cfg space data */    switch(size)        {        case 4:            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_READ, 4, (char *)data);            intUnlock(lockKey);            break;        case 2:            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_READ, 2, (char *)data);            intUnlock(lockKey);            break;        default:            lockKey = intLock();            *((volatile UINT32 *)(pxa270_OCCAR_REG)) = (pciDevice | (offset & ~3));            rc = vxMemProbe ((char *)pxa270_OCCDR_REG, VX_READ, 1, (char *)data);            intUnlock(lockKey);        }    return rc;}/********************************************************************************* sysPciFindDevice - find the nth device with the given device & vendor ID** This routine finds the nth device with the given device & vendor ID.** RETURNS:* OK, or ERROR if the deviceId and vendorId didn't match.*/STATUS sysPciFindDevices(    SYS_PCI_IDENT * pDeviceList,/* ptr to array vend/device ID */    int             index,        /* desired instance of device */    int           * pBusNo,        /* bus number */    int           * pDeviceNo,    /* device number */    UINT16        * pVendorId,  /* vendor ID */    UINT16        * pDeviceId   /* device ID */    )    {    STATUS            status = ERROR;    int                bus,dev,func=0;    UINT32            devId,vendId;    SYS_PCI_IDENT * pDev;    for(bus = 0; bus < PCI_MAX_BUS; ++bus)        {        for(dev = 0;dev < PCI_MAX_DEV; ++dev)            {            pciConfigInLong(bus,dev,func,PCI_CFG_VENDOR_ID,&vendId);            if((vendId & 0x0000ffff) != 0x0000FFFF)                {                devId = (vendId >> 16) & 0xffff;                vendId &= 0x0000FFFF;                pDev = pDeviceList;                while(pDev->pciVend && pDev->pciDevice)                    {                    if(vendId == pDev->pciVend && devId == pDev->pciDevice && index-- == 0)                        {                        *pBusNo        = bus;                        *pDeviceNo    = dev;                        *pVendorId    = (UINT16)vendId;                        *pDeviceId    = (UINT16)devId;                        return OK;                        }                    ++pDev;                    }                }            }        }    return status;    }/***************************************************************************** sysPciInit - PCI Configuration LIbrary Initialization*** RETURNS: None** NOMANUAL*/void sysPciInit(void)    {    /* PCI Configuration Library Initialization MECHANISM_0 */    pciConfigLibInit(PCI_MECHANISM_0,(int)sysPciCfgRead,(int)sysPciCfgWrite,0);    return;    }/***************************************************************************** sysPciInit2 - Second PCI Initialization*** RETURNS: None** NOMANUAL*/void sysPciInit2(void)    {    sysPciAbortsClear();    }/***************************************************************************** sysPciAbortsClear - Clear Target Aborts in PCI status Register*** RETURNS: None** NOMANUAL*/void sysPciAbortsClear(void)    {  UINT32 tmp;/*  * TODO -  * ATU Status Register -clear, * ATU Interrupt Status Register -clear  */    }#endif /* INCLUDE_PCI */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最大成人网4388xx| 国产精品一线二线三线精华| 手机精品视频在线观看| 国产成人在线观看免费网站| 欧美日韩一级视频| 中文字幕综合网| 久99久精品视频免费观看| 欧美在线观看一区| 国产精品福利电影一区二区三区四区 | 亚洲老司机在线| 奇米精品一区二区三区在线观看一 | 91在线免费视频观看| 精品久久一区二区三区| 一区二区三区在线观看国产| 国产成人精品免费在线| 精品国产区一区| 日韩国产在线观看一区| 欧美羞羞免费网站| 成人免费在线播放视频| 成人国产一区二区三区精品| 日韩欧美一级在线播放| 午夜精品福利在线| 欧美日韩亚州综合| 亚洲已满18点击进入久久| 91在线观看污| 成人免费小视频| 99精品热视频| 亚洲欧洲制服丝袜| 91精品91久久久中77777| 综合久久国产九一剧情麻豆| av爱爱亚洲一区| 日韩美女精品在线| 91论坛在线播放| 亚洲精品乱码久久久久久久久 | 国产成人av一区二区| 久久久精品综合| 国产成人免费9x9x人网站视频| 精品福利在线导航| 国产乱码精品1区2区3区| 久久久精品tv| 成人精品视频一区二区三区尤物| 亚洲国产成人一区二区三区| 成人高清伦理免费影院在线观看| 中文字幕在线不卡视频| 高清视频一区二区| 亚洲综合区在线| 欧美精品一二三区| 日韩成人免费电影| 日韩三级中文字幕| 国产精品 欧美精品| 国产精品对白交换视频| 在线观看视频91| 天天操天天综合网| 精品欧美乱码久久久久久1区2区| 国产精品一线二线三线精华| 国产欧美日韩麻豆91| 色婷婷狠狠综合| 免费成人在线影院| 欧美激情艳妇裸体舞| 91久久精品网| 美女视频一区在线观看| 中文字幕精品一区二区精品绿巨人| 91视频一区二区| 男人操女人的视频在线观看欧美| 久久久久久久久蜜桃| 91精品国产美女浴室洗澡无遮挡| 极品少妇一区二区三区精品视频| 国产精品丝袜91| 91麻豆精品国产91久久久久久 | 在线免费亚洲电影| 久久精品国产亚洲aⅴ| 中文字幕不卡三区| 制服丝袜在线91| 波多野结衣精品在线| 日韩精品欧美成人高清一区二区| 久久婷婷国产综合精品青草| 色综合久久九月婷婷色综合| 免费国产亚洲视频| 成人欧美一区二区三区| 精品久久国产老人久久综合| 91亚洲男人天堂| 国产精品一区二区久激情瑜伽 | 亚洲色图都市小说| 精品久久久久香蕉网| 一本一道久久a久久精品综合蜜臀| 美女爽到高潮91| 夜夜操天天操亚洲| 国产精品国产自产拍高清av| 日韩精品最新网址| 欧美日本国产视频| 一本色道久久综合亚洲91| 国产一区二区视频在线| 婷婷久久综合九色综合伊人色| 国产精品久久久久久久久图文区| 欧美变态口味重另类| 欧美日韩aaa| 日本高清不卡视频| 97久久超碰国产精品| 国产高清不卡一区二区| 乱中年女人伦av一区二区| 亚洲高清视频在线| 老汉av免费一区二区三区| 亚洲欧美一区二区久久| 亚洲国产精品国自产拍av| 精品成人一区二区三区| 日韩精品中文字幕一区| 在线播放欧美女士性生活| 欧美主播一区二区三区| 色猫猫国产区一区二在线视频| 暴力调教一区二区三区| 成人激情开心网| 成人app网站| av网站免费线看精品| av综合在线播放| www..com久久爱| 91视频免费看| 欧美在线观看视频一区二区| 色婷婷综合五月| 欧美无人高清视频在线观看| 欧美在线看片a免费观看| 欧美在线|欧美| 欧美日韩一本到| 制服丝袜亚洲色图| 精品国产电影一区二区| 久久五月婷婷丁香社区| 中文字幕国产一区二区| 国产精品二三区| 亚洲最色的网站| 日本亚洲欧美天堂免费| 国内精品免费在线观看| 国产高清不卡二三区| 91香蕉视频污| 欧美日韩精品欧美日韩精品一| 欧美日韩国产美| 亚洲精品一区在线观看| 国产精品视频你懂的| 亚洲精品高清在线| 日韩国产在线一| 国产黑丝在线一区二区三区| a亚洲天堂av| 7777精品伊人久久久大香线蕉完整版| 日韩一区二区免费在线电影| 久久综合五月天婷婷伊人| 国产精品美女久久久久aⅴ| 亚洲日本一区二区三区| 日韩经典中文字幕一区| 国产精品99久久久久久似苏梦涵 | 国产精品久久久久久久久搜平片 | 国产精品黄色在线观看| 亚洲午夜羞羞片| 国产一区二区三区在线观看免费 | 成人性色生活片| 欧美日韩中文精品| 久久亚洲免费视频| 亚洲精品乱码久久久久久| 91日韩精品一区| 欧美一二三区在线观看| 国产精品国产三级国产aⅴ无密码| 一区二区视频免费在线观看| 久久疯狂做爰流白浆xx| 色哟哟一区二区| 久久久蜜桃精品| 亚洲高清免费一级二级三级| 国产一区91精品张津瑜| 欧美性视频一区二区三区| 国产日韩精品一区二区三区在线| 亚洲精品免费看| 丁香一区二区三区| 欧美一区二区三区免费观看视频 | 五月开心婷婷久久| 本田岬高潮一区二区三区| 日韩欧美电影在线| 一区二区三区在线高清| 国产精品538一区二区在线| 欧美中文字幕一区二区三区亚洲| 国产日韩精品一区二区三区在线| 偷拍亚洲欧洲综合| 色婷婷综合久久久久中文一区二区| 精品999在线播放| 午夜精品久久久| 欧美午夜精品久久久久久超碰 | 国产真实精品久久二三区| 欧美日韩一区二区三区视频| 国产精品久久久久久久久搜平片| 国产一区二区在线电影| 日韩精品最新网址| 日韩精品欧美精品| 欧美日韩三级一区| 一级女性全黄久久生活片免费| 成人午夜激情在线| 国产日韩精品一区二区三区| 激情综合网av| 欧美精品一区二区蜜臀亚洲| 欧美aaa在线| 日韩美女视频一区二区在线观看| 午夜伦欧美伦电影理论片| 精品视频一区二区三区免费| 亚洲一区二区精品视频| 欧洲视频一区二区| 婷婷亚洲久悠悠色悠在线播放|