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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 13740 | 回復(fù): 11
打印 上一主題 下一主題

什么情況會導(dǎo)致request_mem_region失?【OK】 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-02-12 11:02 |只看該作者 |倒序瀏覽
我在module_init這個函數(shù)里,第一個函數(shù)就是調(diào)用request_mem_region,可是它返回NULL.
我不知道什么情況才會這樣。

  1. if (! request_mem_region(0x378, 8, "short"))
  2. {
  3.         printk("<1>.....\n");
  4.         return -ENODEV;
  5. }
復(fù)制代碼

[ 本帖最后由 anhk 于 2007-2-13 09:06 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2007-02-12 11:06 |只看該作者
看看0x378是不是被占用了

論壇徽章:
0
3 [報告]
發(fā)表于 2007-02-12 11:18 |只看該作者
原帖由 FreeGnu 于 2007-2-12 11:06 發(fā)表于 2樓  
看看0x378是不是被占用了


沒有,cat /proc/ioport沒有被占用

我一直使用request_region都沒有問題的,但是request_mem_region就出問題了。

論壇徽章:
0
4 [報告]
發(fā)表于 2007-02-12 11:31 |只看該作者
看看  /proc/iomem 吧

論壇徽章:
0
5 [報告]
發(fā)表于 2007-02-12 11:42 |只看該作者
原帖由 FreeGnu 于 2007-2-12 11:31 發(fā)表于 4樓  
看看  /proc/iomem 吧

這里全是內(nèi)存地址,跟I/0地址不一樣吧?

論壇徽章:
0
6 [報告]
發(fā)表于 2007-02-12 13:21 |只看該作者
原帖由 anhk 于 2007-2-12 11:18 發(fā)表于 3樓  


沒有,cat /proc/ioport沒有被占用

我一直使用request_region都沒有問題的,但是request_mem_region就出問題了。


你的CPU的體系結(jié)構(gòu)是支持io-map的,request_mem_region是用于Memory-mapped的

(我也是新手,要是有不對的地方請指出,thanks)

論壇徽章:
0
7 [報告]
發(fā)表于 2007-02-12 13:49 |只看該作者
我明白了,這個函數(shù)我理解錯了。它只是申請一塊內(nèi)存用來映射用。
謝謝

論壇徽章:
0
8 [報告]
發(fā)表于 2007-02-12 13:52 |只看該作者
還有一個問題,request_mem_region使用的內(nèi)存應(yīng)該是3/1G中那1G的吧,也是就用4G內(nèi)存中那內(nèi)核區(qū)的1G?
我在看的是LDD3的與硬件通信那章,有點弄不清楚mem-mapped和io有什么關(guān)系

  1. short_base = (unsigned long)ioremap(short_base, 8);
復(fù)制代碼

并口應(yīng)該使用0x378, 0x278的IO地址,和mem地址的關(guān)系有些不明白

[ 本帖最后由 anhk 于 2007-2-12 14:23 編輯 ]

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
9 [報告]
發(fā)表于 2007-02-12 17:12 |只看該作者
>我在看的是LDD3的與硬件通信那章,有點弄不清楚mem-mapped和io有什么關(guān)系

io寄存器和io內(nèi)存有兩種訪問方式, 一種是用特定指令, 如in、out; 另一種是memory mapped方式,例如調(diào)用ioremap來為io寄存器或io內(nèi)存區(qū)建立映射, 這樣在kernel中就可以用普通的mov、xchg等指令來訪問,就象訪問普通的內(nèi)存一樣。

我也是新手,敬請指正^_^

論壇徽章:
0
10 [報告]
發(fā)表于 2007-02-12 17:25 |只看該作者
原帖由 帥絕人寰 于 2007-2-12 17:12 發(fā)表于 9樓  
>我在看的是LDD3的與硬件通信那章,有點弄不清楚mem-mapped和io有什么關(guān)系

io寄存器和io內(nèi)存有兩種訪問方式, 一種是用特定指令, 如in、out; 另一種是memory mapped方式,例如調(diào)用ioremap來為io寄存器 ...


我現(xiàn)在的疑惑是:
request_mem_region獲取一段IO內(nèi)存,比如0xff000000
然后用ioremap映射,我象知道怎么才能將IO端口0x378映射的我剛才獲取的內(nèi)存0xff000000處

  1. if (! request_mem_region(0xff000000, 8, "short"))
  2. {
  3. return ......;
  4. }
  5. addr = ioremap(0x378, 8);

  6. >>>?????  <<<<
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP