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

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

?? pciiomapshow.c

?? integrator7t_t ARM7bsp包 很有用的程序包 學習ARM 必備
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* pciIomapShow.c - Show routines of PCI bus(IO mapped) library *//* Copyright 1984-1997 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01a,13jan00,pr  Adapted from cma220.*//*DESCRIPTIONThis module contains show routine to see all devices and bridges on the PCI bus.This module works in conjunction with pciIomapLib.o.There are two ways to find out an empty device.  - check Master Abort bit after the access.  - check whether the read value is 0xffff.It uses the second method, since I didn't see the Master Abort bit ofthe host/PCI bridge changing.*/#if (defined(INCLUDE_PCI) && defined(INCLUDE_SHOW_ROUTINES))#include "vxWorks.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "dllLib.h"/* * We currently wish to include this from locally rather than from there as that * version is out-dated. However, as it has been included in sysLib.c already, * this will do no harm. */#include "pciIomapLib.h"/* defines *//* externs */IMPORT int pciLibInitStatus;IMPORT int pciConfigMech;/* globals *//* locals *//* forward declarations */LOCAL void pciDheaderPrint	(PCI_HEADER_DEVICE * pD);LOCAL void pciBheaderPrint	(PCI_HEADER_BRIDGE * pB);/********************************************************************************* pciIomapShowInit - initialize the show routines.** This routine is used to pull in all routines in this library.** NOMANUAL* * RETURNS: N/A*/void pciIomapShowInit (void)    {    }/********************************************************************************* pciDeviceShow - print information about PCI devices** This routine prints information about PCI devices* There are two ways to find out an empty device.*   - check Master Abort bit after the access.*   - check whether the read value is 0xffff.* It uses the second method, since I didn't see the Master Abort bit of* the host/PCI bridge changing.** RETURNS:* OK, or ERROR if the library is not initialized.*/STATUS pciDeviceShow    (    int	busNo		/* bus number */    )    {    int deviceNo;    int devices;    ushort_t vendorId;    ushort_t deviceId;    union	{	int classCode;	char array[4];	} u;    if (pciLibInitStatus != OK)			/* sanity check */        return (ERROR);    printf ("Scanning function 0 of each PCI device on bus %d\n", busNo);    printf ("Using configuration mechanism %d\n", pciConfigMech);    printf ("bus       device    function  vendorID  deviceID  class\n");    if (pciConfigMech == PCI_MECHANISM_1)	devices = 0x1f;    else	devices = 0x0f;    if (busNo != 0)	devices = min(devices, 0x0f);    devices = min(devices, PCI_MAX_DEV);    for (deviceNo=0; deviceNo < devices; deviceNo++)	{	pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, &vendorId);	pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, &deviceId);	if (_BYTE_ORDER == _BIG_ENDIAN)	    {	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF, 			     &u.array[3]);	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[2]);	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[1]);	    u.array[0] = 0;	    }	else	    {	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF, 			     &u.array[0]);	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[1]);	    pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[2]);	    u.array[3] = 0;	    }	/*	 * There are two ways to find out an empty device.	 *   1. check Master Abort bit after the access.	 *   2. check whether the read value is 0xffff.	 * Since I didn't see the Master Abort bit of the host/PCI bridge	 * changing, I use the second method.	 */	if (vendorId != 0xffff)	    printf ("%.8x  %.8x  %.8x  %.8x  %.8x  %.8x\n",		    busNo, deviceNo, 0, vendorId, deviceId, u.classCode);	}    return (OK);    }/********************************************************************************* pciHeaderShow - print a header of the specified PCI device** This routine prints a header of the PCI device specified by busNo, deviceNo,* and funcNo.** RETURNS:* OK, or ERROR if this library is not initialized.**/STATUS pciHeaderShow    (    int	busNo,		/* bus number */    int	deviceNo,	/* device number */    int	funcNo		/* function number */    )    {    PCI_HEADER_DEVICE headerDevice;    PCI_HEADER_BRIDGE headerBridge;    PCI_HEADER_DEVICE * pD = &headerDevice;    PCI_HEADER_BRIDGE * pB = &headerBridge;    if (pciLibInitStatus != OK)			/* sanity check */        return (ERROR);    pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_HEADER_TYPE, 		     &pD->headerType);    if (pD->headerType & 0x01)		/* PCI-to-PCI bridge */	{        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_VENDOR_ID, 			 &pB->vendorId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_DEVICE_ID, 			 &pB->deviceId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_COMMAND, 			 &pB->command);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_STATUS, 			 &pB->status);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_REVISION, 			 &pB->revisionId);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_PROGRAMMING_IF, 			 &pB->progIf);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SUBCLASS, 			 &pB->subClass);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CLASS, 			 &pB->classCode);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CACHE_LINE_SIZE, 			 &pB->cacheLine);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_LATENCY_TIMER, 			 &pB->latency);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_HEADER_TYPE, 			 &pB->headerType);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_BIST, 			 &pB->bist);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_0, 			 &pB->base0);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_1, 			 &pB->base1);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_PRIMARY_BUS, 			 &pB->priBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SECONDARY_BUS, 			 &pB->secBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SUBORDINATE_BUS, 			 &pB->subBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SEC_LATENCY, 			 &pB->secLatency);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_IO_BASE, 			 &pB->ioBase);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_IO_LIMIT, 			 &pB->ioLimit);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_SEC_STATUS, 			 &pB->secStatus);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_MEM_BASE, 			 &pB->memBase);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_MEM_LIMIT, 			 &pB->memLimit);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_BASE, 			 &pB->preBase);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_LIMIT, 			 &pB->preLimit);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久一区| 日本视频免费一区| 日本视频免费一区| 99久久久无码国产精品| 日韩欧美高清在线| 亚洲激情网站免费观看| 国产伦理精品不卡| 制服丝袜一区二区三区| 亚洲男人的天堂在线观看| 国产在线精品一区二区| 欧美肥妇free| 亚洲一区二区欧美日韩| 99久久精品一区二区| 久久久精品中文字幕麻豆发布| 午夜精品久久久久久久| 色成年激情久久综合| 国产精品久久看| 国产一区欧美二区| 日韩精品一区在线| 丝袜美腿亚洲色图| 欧美日韩电影在线播放| 亚洲高清免费观看| 欧美亚日韩国产aⅴ精品中极品| 国产精品久久久99| 成人免费看的视频| 久久疯狂做爰流白浆xx| 国产精品亚洲午夜一区二区三区| 欧美在线视频日韩| 亚洲视频一区在线| 成人黄色网址在线观看| 久久精品免视看| 国内偷窥港台综合视频在线播放| 日韩三级av在线播放| 日本视频一区二区三区| 欧美一区二区三区人| 五月天婷婷综合| 欧美一区二区三区四区高清 | 亚洲香肠在线观看| 一本色道久久综合精品竹菊| 最新高清无码专区| 色婷婷综合视频在线观看| 亚洲精品久久久蜜桃| 欧美午夜免费电影| 乱一区二区av| av在线播放不卡| 北岛玲一区二区三区四区| 久久精品亚洲精品国产欧美 | 国内精品免费**视频| 日韩三级电影网址| 国产风韵犹存在线视精品| 国产视频一区二区三区在线观看| a在线欧美一区| 夜夜揉揉日日人人青青一国产精品| 欧美在线三级电影| 看电影不卡的网站| 国产午夜亚洲精品午夜鲁丝片| 成人国产精品免费观看视频| 亚洲欧美另类小说| 玉足女爽爽91| 欧美亚洲日本一区| 日本亚洲视频在线| 国产欧美一区二区在线| 色哟哟一区二区| 日韩不卡一区二区三区| 国产日韩欧美亚洲| 欧美日韩一区二区三区四区| 紧缚捆绑精品一区二区| 国产精品久久久久影院色老大| 欧美午夜一区二区三区| 国产精品资源在线看| 日韩一区中文字幕| 日韩欧美久久久| 色欧美日韩亚洲| 国产麻豆午夜三级精品| 一区二区三区在线观看动漫| 精品人在线二区三区| 91丝袜美女网| 久久99精品视频| 亚洲香蕉伊在人在线观| 中文字幕av一区 二区| 91精品国产入口在线| 国产91精品久久久久久久网曝门| 亚洲自拍欧美精品| 国产亚洲短视频| 69堂成人精品免费视频| 91丨九色porny丨蝌蚪| 免费视频一区二区| 日本一区二区不卡视频| 91精品国产入口| 欧美性大战久久| 99re热这里只有精品视频| 国产呦萝稀缺另类资源| 三级久久三级久久久| 亚洲一区二区三区在线| 国产精品欧美久久久久一区二区 | 欧美一区二区三区色| 色综合久久六月婷婷中文字幕| 国产精品一线二线三线精华| 日韩av电影天堂| 亚洲不卡一区二区三区| 亚洲日本丝袜连裤袜办公室| 国产精品久久久久婷婷二区次| 精品电影一区二区三区| 日韩女优毛片在线| 欧美一区二区三区喷汁尤物| 欧美精品 国产精品| 欧美色爱综合网| 欧美久久高跟鞋激| 欧美日韩精品一区二区在线播放| 色一区在线观看| 色综合久久综合网97色综合| 91视频com| 一本一道久久a久久精品| 99精品一区二区三区| 白白色 亚洲乱淫| av在线不卡电影| 91老师国产黑色丝袜在线| 91啦中文在线观看| 欧美亚洲高清一区| 欧美一区二区高清| 欧美va亚洲va在线观看蝴蝶网| 日韩欧美一区在线| 久久综合狠狠综合久久综合88| 欧美v日韩v国产v| 久久九九国产精品| 日韩毛片在线免费观看| 亚洲最色的网站| 天堂蜜桃91精品| 国产在线精品一区二区夜色| 国产成人亚洲综合a∨猫咪| 丁香五精品蜜臀久久久久99网站| 99在线热播精品免费| 在线视频欧美精品| 欧美一区二区免费| 欧美日韩国产在线播放网站| 中文字幕一区二区不卡| 国产性色一区二区| 国产精品久久久一区麻豆最新章节| 亚洲特级片在线| 性做久久久久久| 激情成人午夜视频| 91在线小视频| 日韩欧美另类在线| 国产精品久久久久影院亚瑟| 亚洲一区二区欧美| 国产一区二区三区四| 97精品国产97久久久久久久久久久久| 欧美性猛交xxxx黑人交| xf在线a精品一区二区视频网站| 成人免费一区二区三区在线观看| 午夜久久久久久电影| 国产一区二区美女诱惑| 91在线观看视频| 精品久久久久香蕉网| 亚洲综合视频在线观看| 久久99久久精品欧美| 欧美性大战久久| 欧美视频一区二| 一区二区高清在线| 国产欧美一区二区精品久导航| 久久久久久久久久久99999| 亚洲免费在线播放| 国产专区综合网| 欧美伊人精品成人久久综合97| 精品国产一区二区三区忘忧草| 亚洲男同1069视频| 懂色av一区二区三区免费看| 国产亚洲美州欧州综合国| 亚洲成人av免费| 成人av综合在线| www国产成人| 日韩精品亚洲专区| 欧美唯美清纯偷拍| 中文字幕字幕中文在线中不卡视频| 美女精品自拍一二三四| 色婷婷综合久久| 中文字幕在线观看一区| 国产乱理伦片在线观看夜一区| 欧美精品tushy高清| 一二三四区精品视频| av不卡在线播放| 国产精品美女久久久久久久久久久| 秋霞电影网一区二区| 欧美日韩在线观看一区二区 | 日本网站在线观看一区二区三区| 97se狠狠狠综合亚洲狠狠| 精品日韩在线一区| 91久久国产综合久久| 国产中文字幕精品| 欧美理论片在线| 亚洲sss视频在线视频| 在线一区二区三区四区五区 | 国产福利精品一区| 欧美不卡视频一区| 久久99国产精品麻豆| 欧美不卡在线视频| 国产精品正在播放| 中文一区一区三区高中清不卡| 成人小视频免费在线观看| 国产欧美日韩久久|