亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2891 | 回復(fù): 1
打印 上一主題 下一主題

LINUX下開發(fā)驅(qū)動(dòng),系統(tǒng)何時(shí)給硬件分配資源 為什么resourc0文件里沒值 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-06-25 21:19 |只看該作者 |倒序?yàn)g覽
開發(fā)一個(gè)LINUX下的PCI驅(qū)動(dòng),在

static int __init PCI9030_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
     printk("<1>entre myprobe\n";
         /* 啟動(dòng)PCI設(shè)備*/
         if(pci_enable_device(dev));
         return -EIO;
        
         if((card=kmalloc(sizeof(struct PCI9030_card),GFP_KERNEL))==NULL)
         {
            printk(KERN_ERR"CI9030ut of memory\n";
                 return -ENOMEM;
         }
         memset(card,0,sizeof(struct PCI9030_card));
         card->iobase1=pci_resource_start(dev,1);
         card->iobase2=pci_resource_start(dev,2);
         card->CI_dev=*dev;
         card->pci_deviceID=id->device;
         card->iobase1len=pci_resource_len(dev,1);
         card->iobase2len=pci_resource_len(dev,2);
         card->iobase1flag=pci_resource_flags(dev,1);
         card->iobase2flag=pci_resource_flags(dev,2);
         card->next=NULL;
                                 
         unsigned long testReadConfig;
  printk("<1>card iobase1flag,iobase2flag:%lx  , %lx \n",card->iobase1flag,card->iobase2flag);
         return 0;
}
打印出來的FLAG值居然是f8a3dd10,顯然是個(gè)錯(cuò)誤代碼,
現(xiàn)在的驅(qū)動(dòng)能訪問到PCI配置空間,但是訪問不了IO和IO內(nèi)存空間,是沒給IO空間分配資源么????
在/sys/bus/puc/*/下看到我的硬件對(duì)應(yīng)的resource文件里的內(nèi)容為
0x00000000febffc00   0x00000000febffc7f     0x0000000000000200
0x00000000000ec00    0x000000000000ec7f  0x000000000000101
0x000000000000e880  0x000000000000e8bf  0x00000000000101
0x00000000000000      0x0000000000000000 0x0000000000000000
(數(shù)是64位的)
但是該目錄下另外三個(gè)文件resource0,resource1,resource2里的都沒有值

是沒分配資源么????急急急

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-07-08 00:36 |只看該作者
你所謂的resource0~resource3里沒有值是指什么,你用cat讀的嗎?這幾個(gè)不是文本文件,對(duì)它的訪問應(yīng)該是直接訪問PCI設(shè)備上的空間的(轉(zhuǎn)換為PCI的讀或?qū)懖僮鳎?br />
不過按說pci_resource_flags得到的應(yīng)該是resource文件中第三列的值,看不出你為什么得到一個(gè)比較奇怪的值,你那兩個(gè)結(jié)構(gòu)成員定義為什么類型了?%lx好像是按long類型去解析后面的參數(shù)吧,對(duì)于64位系統(tǒng)和32位系統(tǒng)long應(yīng)該是不一樣的。

[ 本帖最后由 Cyberman.Wu 于 2008-7-8 00:53 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP