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

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

?? pciregions.c

?? LINUX設(shè)備驅(qū)動(dòng)2源代碼
?? C
字號(hào):
/* * pciregions.c --  a module that prints address regions of PCI boards * * Tested with 1.2 on the x86 * Tested with 2.0 on the x86 * * Copyright (C) 1997   rubini@linux.it (Alessandro Rubini) * *   This program is free software; you can redistribute it and/or modify *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or *   (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with this program; if not, write to the Free Software *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef __KERNEL__#  define __KERNEL__#endif#ifndef MODULE#  define MODULE#endif#define __NO_VERSION__ /* don't define kernel_verion in module.h */#include <linux/module.h>#include <linux/version.h>char kernel_version [] = UTS_RELEASE;#include <linux/sched.h>#include <linux/delay.h>#include <linux/proc_fs.h>#include <linux/bios32.h> /* pcibios_* */#include <linux/pci.h>/* * Refuse to compile under versions older than 1.99.4 */#define VERSION_CODE(vers,rel,seq) ( ((vers)<<16) | ((rel)<<8) | (seq) )#if LINUX_VERSION_CODE < VERSION_CODE(1,99,4)#  error "This module needs Linux 1.99.4 or newer"#elsestatic u32 addresses[] = {    PCI_BASE_ADDRESS_0,    PCI_BASE_ADDRESS_1,    PCI_BASE_ADDRESS_2,    PCI_BASE_ADDRESS_3,    PCI_BASE_ADDRESS_4,    PCI_BASE_ADDRESS_5,    0};int pciregions_read_proc(char *buf, char **start, off_t offset,                   int len, int unused){    int i, pos=0;    int bus, fun;    unsigned char headertype=0;    u32 id32;    u16 vendorid, deviceid;    #define PRINTF(fmt, args...) sprintf(buf+len, fmt, ## args)    len=0;    /* Loop through the devices (code not printed in the book) */    if (!pcibios_present())        return sprintf(buf,"No PCI bios present\n");    /*     * This code is derived from "drivers/pci/pci.c". This means that     * the GPL applies to this source file and credit is due to the     * original authors (Drew Eckhardt, Frederic Potter, David     * Mosberger-Tang)     */    bus=0; /* only bus 0 :-) */    for (fun=0; fun < 0x100 && pos < PAGE_SIZE; fun++) {        if (!PCI_FUNC(fun)) /* first function */            pcibios_read_config_byte(bus,fun,PCI_HEADER_TYPE,&headertype);            else if (!(headertype&0x80))                continue;        pcibios_read_config_dword(bus,fun,PCI_VENDOR_ID, &id32);        if (!id32 || id32==~0) {            headertype=0; continue;        }                if (len > PAGE_SIZE - 1024) /* a big margin, just to be sure */            return len;        pcibios_read_config_word(bus,fun,PCI_VENDOR_ID,&vendorid);        pcibios_read_config_word(bus,fun,PCI_DEVICE_ID,&deviceid);        /* A device was found: print its regions */        len += PRINTF("Bus %i, device %2i, fun %2i (id %04x-%04x)\n",                       bus, fun>>3, fun & 7, vendorid, deviceid);        for (i=0; addresses[i]; i++) {            u32 curr, mask;            char *type;            pcibios_read_config_dword(bus,fun,addresses[i],&curr);            cli();            pcibios_write_config_dword(bus,fun,addresses[i],~0);            pcibios_read_config_dword(bus,fun,addresses[i],&mask);            pcibios_write_config_dword(bus,fun,addresses[i],curr);            sti();                        len += PRINTF("\tregion %i: mask 0x%08lx, now at 0x%08lx\n", i,                           (unsigned long)mask,                           (unsigned long)curr);            if (!mask) {                len += PRINTF("\tregion %i not existent\n", i);                break;            }            /* extract the type, and the programmable bits */            if (mask & PCI_BASE_ADDRESS_SPACE) {                type = "I/O"; mask &= PCI_BASE_ADDRESS_IO_MASK;            } else {                type = "mem"; mask &= PCI_BASE_ADDRESS_MEM_MASK;            }            len += PRINTF("\tregion %i: type %s, size %i\n", i,                          type, ~mask+1);        }    } /* fun */    return len;}struct proc_dir_entry pciregions_proc_entry = {        0,                 /* low_ino: the inode -- dynamic */       10, "pciregions",   /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &pciregions_read_proc,   /* function used to read data */        /* nothing more */    };int init_module(void){    proc_register_dynamic(&proc_root, &pciregions_proc_entry);    return 0;}void cleanup_module(void){    proc_unregister(&proc_root, pciregions_proc_entry.low_ino);    return;}#endif /* version 1.99.4 or newer */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伦理视频网站| 国产美女精品人人做人人爽| 99精品视频免费在线观看| 国产亚洲短视频| 国产一区91精品张津瑜| 久久久久久久久一| 国产成人综合亚洲网站| 国产精品你懂的在线| 91日韩一区二区三区| 一区二区三区丝袜| 欧美日韩电影一区| 久久精品久久综合| 欧美韩日一区二区三区| 97精品久久久久中文字幕 | 日韩精品一区二区三区视频| 久久er精品视频| 国产蜜臀97一区二区三区| 92国产精品观看| 午夜精品一区二区三区电影天堂 | 欧美美女网站色| 视频一区在线播放| 久久综合九色综合97婷婷女人| 成人综合婷婷国产精品久久蜜臀| 亚洲男人的天堂网| 日韩午夜激情电影| 99亚偷拍自图区亚洲| 亚洲一区二区三区四区的| 欧美一级艳片视频免费观看| 国产精品亚洲第一区在线暖暖韩国 | 91黄视频在线| 久久不见久久见免费视频1| 国产精品毛片高清在线完整版| 欧美做爰猛烈大尺度电影无法无天| 免费视频一区二区| ...中文天堂在线一区| 777精品伊人久久久久大香线蕉| 国产成人av电影在线| 亚洲午夜电影在线| 欧美激情一区二区三区全黄| 91精品午夜视频| 成人精品国产免费网站| 日本不卡视频在线| 一区二区三区免费网站| 国产亚洲欧美在线| 欧美精品在线一区二区三区| 成年人国产精品| 久久99九九99精品| 亚洲第一主播视频| 亚洲欧洲日产国产综合网| 久久午夜色播影院免费高清| 欧美视频一区二区三区在线观看| 国产成人精品www牛牛影视| 日韩**一区毛片| 亚洲精品乱码久久久久久久久| 国产亚洲精品超碰| 精品少妇一区二区三区视频免付费| 日本韩国欧美一区| eeuss鲁片一区二区三区| 国产一区二区三区在线看麻豆| 亚洲bt欧美bt精品777| 亚洲精品伦理在线| 亚洲欧洲日本在线| 国产精品乱码一区二区三区软件| 日韩午夜激情视频| 3atv一区二区三区| 欧美亚洲动漫精品| 欧美亚洲高清一区二区三区不卡| 成人免费视频免费观看| 国产成人日日夜夜| 国产一区二区三区黄视频| 美女免费视频一区二区| 奇米色777欧美一区二区| 视频一区在线视频| 日韩电影免费在线观看网站| 亚洲成人第一页| 天天爽夜夜爽夜夜爽精品视频| 一区二区三区不卡视频| 亚洲精品国产无天堂网2021| 最新国产精品久久精品| 中文字幕一区二区三区四区不卡| 欧美精彩视频一区二区三区| 久久精品日产第一区二区三区高清版 | 六月丁香婷婷色狠狠久久| 图片区小说区区亚洲影院| 日韩精品久久久久久| 免费av网站大全久久| 久久激情综合网| 国产一区二区在线看| 大陆成人av片| 99re亚洲国产精品| 欧亚洲嫩模精品一区三区| 欧美美女一区二区三区| 日韩三级电影网址| 国产午夜精品福利| 中文字幕一区二区三区在线不卡| 日韩伦理电影网| 亚洲国产精品久久艾草纯爱| 天天色综合成人网| 韩国成人在线视频| 波多野结衣中文字幕一区二区三区| 91女厕偷拍女厕偷拍高清| 欧美乱妇23p| 欧美一级理论片| 国产欧美精品日韩区二区麻豆天美| 欧美国产日本视频| 亚洲综合久久久| 男女男精品视频网| 成av人片一区二区| 欧美高清一级片在线| 精品女同一区二区| 一色屋精品亚洲香蕉网站| 亚洲电影一区二区三区| 国产一区二区三区在线观看免费视频 | 成人在线综合网站| 欧美性猛交xxxxxx富婆| 欧美电影免费观看高清完整版| 久久精品水蜜桃av综合天堂| 亚洲欧美另类图片小说| 美美哒免费高清在线观看视频一区二区 | 日韩亚洲欧美一区| 国产精品拍天天在线| 婷婷夜色潮精品综合在线| 粉嫩aⅴ一区二区三区四区| 97久久精品人人做人人爽50路| 9191久久久久久久久久久| 久久久噜噜噜久久人人看 | 日本不卡一区二区三区| 成人国产精品免费| 欧美精品欧美精品系列| 国产精品久久久久影院色老大| 五月天久久比比资源色| 高清国产一区二区三区| 欧美一区二区三区小说| 椎名由奈av一区二区三区| 激情综合网激情| 91黄色免费版| 欧美国产日韩一二三区| 久久精品国产在热久久| 欧美日韩一卡二卡| 亚洲视频在线观看三级| 国产精品一区二区三区四区| 欧美久久久久久久久中文字幕| 亚洲人成网站精品片在线观看| 国产精品资源在线看| 宅男在线国产精品| 亚洲影院免费观看| 91亚洲男人天堂| 欧美激情资源网| 国产一区二区在线免费观看| 日韩欧美黄色影院| 日韩电影免费一区| 欧美精品一级二级| 亚洲一区二区五区| 色悠悠亚洲一区二区| 国产精品久久久久久久第一福利| 国内精品视频一区二区三区八戒| 欧美电影一区二区| 亚洲线精品一区二区三区八戒| www.视频一区| 国产精品对白交换视频| 国产成人鲁色资源国产91色综 | 国产精品88av| 久久综合国产精品| 精品亚洲免费视频| 日韩精品中文字幕在线不卡尤物| 午夜婷婷国产麻豆精品| 欧美军同video69gay| 五月激情六月综合| 51精品国自产在线| 精品一区二区三区影院在线午夜| 在线成人午夜影院| 日韩电影在线观看一区| 日韩欧美国产不卡| 国内精品不卡在线| 久久精品人人做人人综合| 国产不卡视频在线播放| 国产精品久久久久一区| 北条麻妃国产九九精品视频| 国产精品美女久久福利网站| 99久久国产综合精品麻豆| 亚洲狠狠丁香婷婷综合久久久| 在线日韩一区二区| 性做久久久久久免费观看欧美| 7777精品伊人久久久大香线蕉最新版| 视频一区视频二区中文字幕| 欧美成人vr18sexvr| 国产经典欧美精品| ...中文天堂在线一区| 91成人免费在线| 欧美96一区二区免费视频| 久久久99久久| 色一情一伦一子一伦一区| 亚洲福利视频一区二区| 欧美成人三级在线| 成人高清视频在线观看| 成年人国产精品| 精品成人一区二区| 国产精品1区2区| 亚洲欧美偷拍另类a∨色屁股| 欧美伊人精品成人久久综合97|