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

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

?? pcilib.h

?? uboot for twarm board
?? H
字號:
/******************************************************************************                   SciTech OS Portability Manager Library**  ========================================================================**    The contents of this file are subject to the SciTech MGL Public*    License Version 1.0 (the "License"); you may not use this file*    except in compliance with the License. You may obtain a copy of*    the License at http://www.scitechsoft.com/mgl-license.txt**    Software distributed under the License is distributed on an*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*    implied. See the License for the specific language governing*    rights and limitations under the License.**    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.**    The Initial Developer of the Original Code is SciTech Software, Inc.*    All Rights Reserved.**  ========================================================================** Language:     ANSI C* Environment:  Any** Description:  Header file for interface routines to the PCI bus.*****************************************************************************/#ifndef __PCILIB_H#define __PCILIB_H#include "scitech.h"/*---------------------- Macros and type definitions ----------------------*/#pragma pack(1)/* Defines for PCIDeviceInfo.HeaderType */typedef enum {    PCI_deviceType                  = 0x00,    PCI_bridgeType                  = 0x01,    PCI_cardBusBridgeType           = 0x02,    PCI_multiFunctionType           = 0x80    } PCIHeaderTypeFlags;/* Defines for PCIDeviceInfo.Command */typedef enum {    PCI_enableIOSpace               = 0x0001,    PCI_enableMemorySpace           = 0x0002,    PCI_enableBusMaster             = 0x0004,    PCI_enableSpecialCylces         = 0x0008,    PCI_enableWriteAndInvalidate    = 0x0010,    PCI_enableVGACompatiblePalette  = 0x0020,    PCI_enableParity                = 0x0040,    PCI_enableWaitCycle             = 0x0080,    PCI_enableSerr                  = 0x0100,    PCI_enableFastBackToBack        = 0x0200    } PCICommandFlags;/* Defines for PCIDeviceInfo.Status */typedef enum {    PCI_statusCapabilitiesList      = 0x0010,    PCI_status66MhzCapable          = 0x0020,    PCI_statusUDFSupported          = 0x0040,    PCI_statusFastBackToBack        = 0x0080,    PCI_statusDataParityDetected    = 0x0100,    PCI_statusDevSel                = 0x0600,    PCI_statusSignaledTargetAbort   = 0x0800,    PCI_statusRecievedTargetAbort   = 0x1000,    PCI_statusRecievedMasterAbort   = 0x2000,    PCI_statusSignaledSystemError   = 0x4000,    PCI_statusDetectedParityError   = 0x8000    } PCIStatusFlags;/* PCI capability IDs */typedef enum {    PCI_capsPowerManagement         = 0x01,    PCI_capsAGP                     = 0x02,    PCI_capsMSI                     = 0x05    } PCICapsType;/* PCI AGP rate definitions */typedef enum {    PCI_AGPRate1X                   = 0x1,    PCI_AGPRate2X                   = 0x2,    PCI_AGPRate4X                   = 0x4    } PCIAGPRateType;/* NOTE: We define all bitfield's as uint's, specifically so that the IBM *       Visual Age C++ compiler does not complain. We need them to be *       32-bits wide, and this is the width of an unsigned integer, but *       we can't use a ulong to make this explicit or we get errors. *//* Structure defining a PCI slot identifier */typedef union {    struct {	uint    Zero:2;	uint    Register:6;	uint    Function:3;	uint    Device:5;	uint    Bus:8;	uint    Reserved:7;	uint    Enable:1;	} p;    ulong   i;    } PCIslot;/* Structure defining the regular (type 0) PCI configuration register * layout. We use this in a union below so we can describe all types of * PCI configuration spaces with a single structure. */typedef struct {    ulong   BaseAddress10;    ulong   BaseAddress14;    ulong   BaseAddress18;    ulong   BaseAddress1C;    ulong   BaseAddress20;    ulong   BaseAddress24;    ulong   CardbusCISPointer;    ushort  SubSystemVendorID;    ushort  SubSystemID;    ulong   ROMBaseAddress;    uchar   CapabilitiesPointer;    uchar   reserved1;    uchar   reserved2;    uchar   reserved3;    ulong   reserved4;    uchar   InterruptLine;    uchar   InterruptPin;    uchar   MinimumGrant;    uchar   MaximumLatency;    /* These are not in the actual config space, but we enumerate them */    ulong   BaseAddress10Len;    ulong   BaseAddress14Len;    ulong   BaseAddress18Len;    ulong   BaseAddress1CLen;    ulong   BaseAddress20Len;    ulong   BaseAddress24Len;    ulong   ROMBaseAddressLen;    } PCIType0Info;/* Structure defining PCI to PCI bridge (type 1) PCI configuration register * layout. We use this in a union below so we can describe all types of * PCI configuration spaces with a single structure. */typedef struct {    ulong   BaseAddress10;    ulong   BaseAddress14;    uchar   PrimaryBusNumber;    uchar   SecondayBusNumber;    uchar   SubordinateBusNumber;    uchar   SecondaryLatencyTimer;    uchar   IOBase;    uchar   IOLimit;    ushort  SecondaryStatus;    ushort  MemoryBase;    ushort  MemoryLimit;    ushort  PrefetchableMemoryBase;    ushort  PrefetchableMemoryLimit;    ulong   PrefetchableBaseHi;    ulong   PrefetchableLimitHi;    ushort  IOBaseHi;    ushort  IOLimitHi;    uchar   CapabilitiesPointer;    uchar   reserved1;    uchar   reserved2;    uchar   reserved3;    ulong   ROMBaseAddress;    uchar   InterruptLine;    uchar   InterruptPin;    ushort  BridgeControl;    } PCIType1Info;/* PCI to CardBus bridge (type 2) configuration information */typedef struct {    ulong   SocketRegistersBaseAddress;    uchar   CapabilitiesPointer;    uchar   reserved1;    ushort  SecondaryStatus;    uchar   PrimaryBus;    uchar   SecondaryBus;    uchar   SubordinateBus;    uchar   SecondaryLatency;    struct  {	ulong   Base;	ulong   Limit;	} Range[4];    uchar   InterruptLine;    uchar   InterruptPin;    ushort  BridgeControl;    } PCIType2Info;/* Structure defining the PCI configuration space information for a * single PCI device on the PCI bus. We enumerate all this information * for all PCI devices on the bus. */typedef struct {    ulong               dwSize;    PCIslot             slot;    ulong               mech1;    ushort              VendorID;    ushort              DeviceID;    ushort              Command;    ushort              Status;    uchar               RevID;    uchar               Interface;    uchar               SubClass;    uchar               BaseClass;    uchar               CacheLineSize;    uchar               LatencyTimer;    uchar               HeaderType;    uchar               BIST;    union {	PCIType0Info    type0;	PCIType1Info    type1;	PCIType2Info    type2;	} u;    } PCIDeviceInfo;/* PCI Capability header structure. All PCI capabilities have the * following header. * * capsID is used to identify the type of the structure as define above. * * next is the offset in PCI configuration space (0x40-0xFC) of the * next capability structure in the list, or 0x00 if there are no more * entries. */typedef struct {    uchar   capsID;    uchar   next;    } PCICapsHeader;/* Structure defining the PCI AGP status register contents */typedef struct {    uint    rate:3;    uint    rsvd1:1;    uint    fastWrite:1;    uint    fourGB:1;    uint    rsvd2:3;    uint    sideBandAddressing:1;    uint    rsvd3:14;    uint    requestQueueDepthMaximum:8;    } PCIAGPStatus;/* Structure defining the PCI AGP command register contents */typedef struct {    uint    rate:3;    uint    rsvd1:1;    uint    fastWriteEnable:1;    uint    fourGBEnable:1;    uint    rsvd2:2;    uint    AGPEnable:1;    uint    SBAEnable:1;    uint    rsvd3:14;    uint    requestQueueDepth:8;    } PCIAGPCommand;/* AGP Capability structure */typedef struct {    PCICapsHeader   h;    ushort          majMin;    PCIAGPStatus    AGPStatus;    PCIAGPCommand   AGPCommand;    } PCIAGPCapability;/* Structure for obtaining the PCI IRQ routing information */typedef struct {    uchar   bus;    uchar   device;    uchar   linkA;    ushort  mapA;    uchar   linkB;    ushort  mapB;    uchar   linkC;    ushort  mapC;    uchar   linkD;    ushort  mapD;    uchar   slot;    uchar   reserved;    } PCIRouteInfo;typedef struct {    ushort          BufferSize;    PCIRouteInfo    *DataBuffer;    } PCIRoutingOptionsBuffer;#define NUM_PCI_REG                 (sizeof(PCIDeviceInfo) / 4) - 10#define PCI_BRIDGE_CLASS            0x06#define PCI_HOST_BRIDGE_SUBCLASS    0x00#define PCI_EARLY_VGA_CLASS         0x00#define PCI_EARLY_VGA_SUBCLASS      0x01#define PCI_DISPLAY_CLASS           0x03#define PCI_DISPLAY_VGA_SUBCLASS    0x00#define PCI_DISPLAY_XGA_SUBCLASS    0x01#define PCI_DISPLAY_OTHER_SUBCLASS  0x80#define PCI_MM_CLASS                0x04#define PCI_AUDIO_SUBCLASS          0x01/* Macros to detect specific classes of devices */#define PCI_IS_3DLABS_NONVGA_CLASS(pci) \   (((pci)->BaseClass == PCI_DISPLAY_CLASS && (pci)->SubClass == PCI_DISPLAY_OTHER_SUBCLASS) \ && ((pci)->VendorID == 0x3D3D || (pci)->VendorID == 0x104C))#define PCI_IS_DISPLAY_CLASS(pci) \   (((pci)->BaseClass == PCI_DISPLAY_CLASS && (pci)->SubClass == PCI_DISPLAY_VGA_SUBCLASS) \ || ((pci)->BaseClass == PCI_DISPLAY_CLASS && (pci)->SubClass == PCI_DISPLAY_XGA_SUBCLASS) \ || ((pci)->BaseClass == PCI_EARLY_VGA_CLASS && (pci)->SubClass == PCI_EARLY_VGA_SUBCLASS) \ || PCI_IS_3DLABS_NONVGA_CLASS(pci))/* Function codes to pass to PCI_accessReg */#define PCI_READ_BYTE               0#define PCI_READ_WORD               1#define PCI_READ_DWORD              2#define PCI_WRITE_BYTE              3#define PCI_WRITE_WORD              4#define PCI_WRITE_DWORD             5/* Macros to read/write PCI registers. These assume a global PCI array * of device information. */#define PCI_readPCIRegB(index,device)   \    PCI_accessReg(index,0,0,&PCI[DeviceIndex[device]])#define PCI_readPCIRegW(index,device)   \    PCI_accessReg(index,0,1,&PCI[DeviceIndex[device]])#define PCI_readPCIRegL(index,device)   \    PCI_accessReg(index,0,2,&PCI[DeviceIndex[device]])#define PCI_writePCIRegB(index,value,device)    \    PCI_accessReg(index,value,3,&PCI[DeviceIndex[device]])#define PCI_writePCIRegW(index,value,device)    \    PCI_accessReg(index,value,4,&PCI[DeviceIndex[device]])#define PCI_writePCIRegL(index,value,device)    \    PCI_accessReg(index,value,5,&PCI[DeviceIndex[device]])#pragma pack()/*-------------------------- Function Prototypes --------------------------*/#ifdef  __cplusplusextern "C" {                        /* Use "C" linkage when in C++ mode */#endif/* Function to determine the number of PCI devices in the system */int     _ASMAPI PCI_getNumDevices(void);/* Function to enumerate all device on the PCI bus */int     _ASMAPI PCI_enumerate(PCIDeviceInfo info[]);/* Function to access PCI configuration registers */ulong   _ASMAPI PCI_accessReg(int index,ulong value,int func,PCIDeviceInfo *info);/* Function to get PCI IRQ routing options for a card */int     _ASMAPI PCI_getIRQRoutingOptions(int numDevices,PCIRouteInfo *buffer);/* Function to re-route the PCI IRQ setting for a device */ibool   _ASMAPI PCI_setHardwareIRQ(PCIDeviceInfo *info,uint intPin,uint IRQ);/* Function to generate a special cyle on the specified PCI bus */void    _ASMAPI PCI_generateSpecialCyle(uint bus,ulong specialCycleData);/* Function to determine the size of a PCI base address register */ulong   _ASMAPI PCI_findBARSize(int bar,PCIDeviceInfo *pci);/* Function to read a block of PCI configuration space registers */void    _ASMAPI PCI_readRegBlock(PCIDeviceInfo *info,int index,void *dst,int count);/* Function to write a block of PCI configuration space registers */void    _ASMAPI PCI_writeRegBlock(PCIDeviceInfo *info,int index,void *src,int count);/* Function to return the 32-bit PCI BIOS entry point */ulong   _ASMAPI PCIBIOS_getEntry(void);#ifdef  __cplusplus}                                   /* End of "C" linkage for C++       */#endif#endif  /* __PCILIB_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区二区三区在线观看| 欧美天天综合网| 久久久亚洲高清| 国产精品69久久久久水密桃| 国产欧美日韩另类一区| 成人av影院在线| 一区二区三区高清| 欧美日韩高清在线播放| 午夜精品福利一区二区三区av| 91麻豆精品国产无毒不卡在线观看| 蜜桃传媒麻豆第一区在线观看| 日韩欧美久久一区| 国产91精品一区二区麻豆网站| 最新国产の精品合集bt伙计| 在线观看91精品国产麻豆| 精彩视频一区二区| 日韩理论片在线| 欧美一区二区三区白人| 国产激情视频一区二区在线观看| 国产精品毛片大码女人| 欧美放荡的少妇| 国产综合久久久久影院| 亚洲日本va在线观看| 日韩一卡二卡三卡四卡| 波多野结衣亚洲| 视频在线观看91| 欧美激情一区三区| 欧美日韩在线三级| 国产成人夜色高潮福利影视| 一区二区三区四区在线免费观看| 日韩色视频在线观看| 菠萝蜜视频在线观看一区| 亚洲成人免费电影| 国产色产综合色产在线视频| 欧美日韩一区二区三区四区| 国产一区二区三区高清播放| 亚洲成人自拍偷拍| 欧美经典一区二区| 欧美一区二区视频网站| 91农村精品一区二区在线| 美腿丝袜一区二区三区| 一区二区三区四区五区视频在线观看| 欧美成人aa大片| 欧美三级电影网| av电影在线观看不卡| 美女久久久精品| 亚洲aⅴ怡春院| |精品福利一区二区三区| 欧美精品一区二区久久久| 欧美色电影在线| 97久久精品人人做人人爽50路| 久久99国产乱子伦精品免费| 一区二区三区 在线观看视频| 久久九九99视频| 日韩免费高清av| 欧美精品乱码久久久久久按摩| 成人激情视频网站| 国内精品不卡在线| 久久精品国产精品青草| 亚洲国产欧美在线| 亚洲视频在线一区| 国产精品美女久久久久高潮| 亚洲精品在线三区| 欧美一区二区三区精品| 欧美日韩国产免费一区二区| 91成人在线精品| 色噜噜狠狠色综合欧洲selulu| 高清不卡一区二区在线| 九九精品视频在线看| 蜜臀av一区二区| 久久91精品久久久久久秒播| 蜜乳av一区二区| 日本不卡123| 美女久久久精品| 狠狠色丁香婷综合久久| 久久99蜜桃精品| 韩国一区二区三区| 国产麻豆日韩欧美久久| 国产麻豆精品theporn| 精品一区二区三区久久| 精品写真视频在线观看| 国产中文字幕精品| 国产精品综合视频| 成人激情免费电影网址| 成人激情开心网| 91麻豆.com| 欧美午夜片在线观看| 欧美日韩国产小视频| 这里只有精品视频在线观看| 精品国产人成亚洲区| www国产精品av| 国产精品区一区二区三区| 亚洲三级电影全部在线观看高清| 亚洲欧美精品午睡沙发| 亚洲国产精品一区二区久久| 日本欧洲一区二区| 国产精品 日产精品 欧美精品| 不卡免费追剧大全电视剧网站| 色综合久久久久久久| 欧美日韩一区久久| 久久影院午夜片一区| 国产精品免费网站在线观看| 亚洲综合免费观看高清完整版在线| 亚洲成人中文在线| 国产乱码精品一区二区三区五月婷| 成人性视频免费网站| 欧美性生活久久| 久久日韩粉嫩一区二区三区| 综合久久久久久| 视频在线在亚洲| 不卡av在线免费观看| 欧美老肥妇做.爰bbww| 久久久综合网站| 一区二区理论电影在线观看| 蜜臀精品一区二区三区在线观看| 国产高清久久久| 欧美日韩在线播放三区| 国产欧美一区二区精品性色超碰| 一区二区三区在线不卡| 国产精品一区二区三区网站| 色综合久久中文综合久久牛| 欧美一区二区三区白人| 亚洲欧美日韩国产一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 国产成a人亚洲精品| 欧美精品在欧美一区二区少妇| 中文字幕av不卡| 欧美a一区二区| 日本精品一级二级| 久久先锋影音av鲁色资源| 亚洲一区自拍偷拍| 高清日韩电视剧大全免费| 91精品国产综合久久久久| 自拍偷拍国产精品| 国产原创一区二区三区| 在线播放日韩导航| 亚洲美女在线一区| 国产98色在线|日韩| 日韩一区和二区| 亚洲国产日韩综合久久精品| 成人a免费在线看| 久久影音资源网| 免费av成人在线| 欧美日韩久久不卡| 亚洲精品你懂的| 99久久婷婷国产| 欧美高清在线视频| 国产麻豆精品视频| 精品毛片乱码1区2区3区| 婷婷开心久久网| 欧美日韩一二三| 一区二区三区不卡视频| 色综合久久综合网| 综合网在线视频| 99久久国产免费看| 中文字幕+乱码+中文字幕一区| 国产一区不卡精品| 久久精品综合网| 国产精品456露脸| 日本一区二区免费在线 | 亚洲啪啪综合av一区二区三区| 激情综合五月天| 精品乱人伦小说| 久色婷婷小香蕉久久| 日韩一级成人av| 蜜桃在线一区二区三区| 337p亚洲精品色噜噜狠狠| 午夜精品久久久久久| 欧美猛男超大videosgay| 日日噜噜夜夜狠狠视频欧美人 | 亚洲国产精品人人做人人爽| 色婷婷av一区| 亚洲综合成人在线视频| 91久久香蕉国产日韩欧美9色| 一区二区三区欧美久久| 欧美伊人久久久久久久久影院| 亚洲一二三四久久| 欧美丰满嫩嫩电影| 激情成人综合网| 久久久噜噜噜久久中文字幕色伊伊 | 欧美电影免费观看高清完整版在| 美国欧美日韩国产在线播放| 日韩欧美精品在线视频| 精品一区二区三区免费毛片爱| 国产清纯白嫩初高生在线观看91 | 欧洲国内综合视频| 天堂在线亚洲视频| 精品精品国产高清a毛片牛牛 | 在线欧美日韩国产| 日韩激情一区二区| 精品国产91久久久久久久妲己| 国产夫妻精品视频| 亚洲色大成网站www久久九九| 在线观看三级视频欧美| 日本免费新一区视频| 国产亚洲污的网站| 日本久久电影网| 久久99国产精品久久99果冻传媒| 中文字幕欧美激情一区| 欧美色综合久久|