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

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

?? pciregions.c

?? LINUX設備驅動2源代碼
?? C
字號:
/* * pciregions.c --  a module that prints address regions of PCI boards * * 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#include <linux/module.h>#include <linux/sched.h>#include <linux/delay.h>#include <linux/proc_fs.h>#include <linux/bios32.h> /* pcibios_* */#include <linux/pci.h>#include "sysdep-2.1.h"static 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;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美色图| 国产在线日韩欧美| 欧美日韩国产另类不卡| 一个色妞综合视频在线观看| 欧美在线小视频| 日韩av一区二区在线影视| 日韩欧美久久久| 国产一区二区h| 最新热久久免费视频| 欧美综合一区二区三区| 免费观看在线色综合| 久久久国产午夜精品| 91丝袜国产在线播放| 亚洲国产成人高清精品| 精品国产伦一区二区三区观看方式| 国产精品一区二区三区乱码| 中文字幕日本乱码精品影院| 欧美电影在哪看比较好| 国产在线视频一区二区| 一区二区免费看| 欧美大度的电影原声| 97se亚洲国产综合在线| 日韩精品免费专区| 国产欧美一区二区在线观看| 在线免费一区三区| 韩国中文字幕2020精品| 悠悠色在线精品| 精品国精品自拍自在线| 91蝌蚪porny| 国产在线麻豆精品观看| 亚洲一区二区欧美激情| 国产色综合一区| 欧美精品日日鲁夜夜添| 99久久婷婷国产综合精品 | 欧美日韩一区中文字幕| 国产一区二区三区在线观看免费| 亚洲视频你懂的| 精品国产乱码91久久久久久网站| 91黄色激情网站| 国产精品一二三| 日本特黄久久久高潮| 亚洲青青青在线视频| 久久这里都是精品| 欧美福利视频导航| 一本一道综合狠狠老| 国产福利一区二区| 久久精品国产澳门| 亚洲成av人片在线观看| 国产精品久久久久国产精品日日| 欧美成人在线直播| 欧美精品国产精品| 欧美午夜宅男影院| 99九九99九九九视频精品| 国产高清无密码一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲一区二区三区四区不卡| 久久综合网色—综合色88| 欧美高清视频不卡网| 国产91丝袜在线观看| 韩国视频一区二区| 久久精品国产99久久6| 天天色天天操综合| 亚洲一区在线播放| 亚洲黄色片在线观看| 亚洲视频一区二区在线| 中文字幕亚洲在| 一区二区中文视频| 中文成人综合网| 中文字幕欧美国产| 国产精品麻豆欧美日韩ww| 国产欧美日韩久久| 国产精品麻豆久久久| 中文字幕 久热精品 视频在线 | 毛片av一区二区| 人人精品人人爱| 视频在线观看一区| 免费在线观看一区二区三区| 亚洲18色成人| 日本中文字幕一区| 免费不卡在线观看| 国产又粗又猛又爽又黄91精品| 国产一区二区三区观看| 国产成人精品免费视频网站| 成人午夜短视频| 91麻豆精东视频| 91成人免费在线| 在线播放国产精品二区一二区四区| 欧美日韩精品免费观看视频| 欧美一区二区三区四区五区| 日韩欧美你懂的| 国产欧美视频在线观看| 中文字幕永久在线不卡| 亚洲夂夂婷婷色拍ww47| 亚洲第一二三四区| 国模套图日韩精品一区二区| 国产激情视频一区二区在线观看| av不卡在线播放| 欧美日韩综合不卡| 欧美刺激脚交jootjob| 国产日韩欧美精品在线| 中文字幕一区在线| 日韩中文欧美在线| 国产精品夜夜爽| 欧洲一区在线电影| 欧美变态凌虐bdsm| 中文字幕在线观看不卡| 日韩高清一区在线| 国产69精品久久久久毛片| 色播五月激情综合网| 日韩欧美综合在线| 亚洲少妇屁股交4| 蜜桃久久av一区| 99久久久久久| 欧美成人性战久久| 一区二区三区在线播| 久久精品国产在热久久| 99re在线精品| 欧美成人精品高清在线播放 | 国产日韩av一区| 亚洲国产综合视频在线观看| 国产一区二区成人久久免费影院 | 欧美变态凌虐bdsm| 亚洲欧美日韩国产综合| 麻豆成人免费电影| 色猫猫国产区一区二在线视频| 欧美成人vps| 亚洲国产精品自拍| www.亚洲在线| 精品国产3级a| 日本欧美一区二区在线观看| 91色视频在线| 国产亚洲精品bt天堂精选| 亚洲在线视频一区| www.欧美亚洲| 26uuu精品一区二区三区四区在线| 亚洲精品久久嫩草网站秘色| 国产不卡在线视频| 欧美成人伊人久久综合网| 亚洲一区二区三区四区在线 | 欧美一级欧美一级在线播放| 亚洲视频在线观看三级| 国产suv精品一区二区6| 日韩欧美国产一区二区在线播放| 亚洲午夜三级在线| 91在线视频播放| 国产精品日韩成人| 韩国一区二区视频| 欧美电影免费观看高清完整版在线| 亚洲综合成人网| 色婷婷精品久久二区二区蜜臀av | 色爱区综合激月婷婷| 日韩一区欧美小说| www.色综合.com| 国产农村妇女毛片精品久久麻豆| 黄页视频在线91| 精品少妇一区二区三区在线视频| 亚欧色一区w666天堂| 欧美影院一区二区| 亚洲国产cao| 欧美主播一区二区三区美女| 亚洲欧美另类综合偷拍| 91丨九色丨蝌蚪富婆spa| 国产精品成人免费| 一本大道综合伊人精品热热 | 天涯成人国产亚洲精品一区av| 欧美在线综合视频| 五月天婷婷综合| 欧美一区二区三区日韩视频| 青青草97国产精品免费观看无弹窗版| 欧美日韩国产在线观看| 五月天中文字幕一区二区| 欧美日韩精品系列| 日本成人中文字幕| 欧美tickling挠脚心丨vk| 免费在线观看一区| 久久久久久久久久美女| 丁香六月久久综合狠狠色| 国产精品久久精品日日| 色视频一区二区| 无码av中文一区二区三区桃花岛| 777午夜精品免费视频| 久久草av在线| 国产精品情趣视频| 欧美性淫爽ww久久久久无| 日韩主播视频在线| 欧美精品一区二区三区在线播放| 国产成人aaa| 亚洲无线码一区二区三区| 欧美精选在线播放| 国产激情视频一区二区在线观看| 亚洲欧美色一区| 在线电影欧美成精品| 国产精品乡下勾搭老头1| ●精品国产综合乱码久久久久 | 粉嫩嫩av羞羞动漫久久久| 亚洲美女视频在线观看| 欧美久久久久中文字幕| 国内久久婷婷综合| 椎名由奈av一区二区三区| 91精品国模一区二区三区|