LinuxDev 板


LINE

新手移植系統遇到一些問題, 卡一段時間了, 求助一下 移植 linux kernel driver 需要一塊20M上下的 physical 連續的記憶體給硬體使用 參考的程式是直接 platform_get_resource(pdev, IORESOURCE_MEM, 0); 然後拿得到的 physical addr? 印出來的位置是 0xbe......~0xbf 直接轉換 ioremap 得到 virtual addr 就一路操作下去 我仿造直接拿 0xbe......~0xbf...... 去做 ioremap 結果失敗, 印一堆 kernel message 查了一下 http://lxr.free-electrons.com/source/arch/arm/mm/ioremap.c#L334 287 if (size && !(sizeof(phys_addr_t) == 4 && pfn >= 0x100000)) { 288 struct static_vm *svm; 289 290 svm = find_static_vm_paddr(paddr, size, mtype); 291 if (svm) { 292 addr = (unsigned long)svm->vm.addr; 293 addr += paddr - svm->vm.phys_addr; 294 return (void __iomem *) (offset + addr); 295 } 296 } 297 298 /* 299 * Don't allow RAM to be mapped - this causes problems with ARMv6+ 300 */ 301 if (WARN_ON(pfn_valid(pfn))) 302 return NULL; 印log對起來是 svm=find_static_vm_paddr 就得到 0 然後 pfn_valid(pfn) = 1, 然後就印了訊息直接 return NULL 覺得少做了一些事所以這樣失敗, 一直亂試還沒結果 是因為沒有保留一塊記憶體, 還是少建立對應表, 還是少做哪些事? 網路上查詢要在一開始保留大塊記憶體大部分做法是 alloc_bootmem(size) 或是開機設定 kernel 參數 mem=xx alloc_bootmem(size) 試過了目前還是失敗 回傳的位置已是 virtual addr 轉成 physical addr 就可用 不用在 ioremap 還甚麼設定就直接用? 開機設定 kernel 參數這部分還沒試過 這個就直接用 ioremap 轉換一個 physical addr 就可以用嗎? 實在不懂, 有沒有甚麼方向可參考, 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.204.140
※ 文章網址: http://webptt.com/m.aspx?n=bbs/LinuxDev/M.1405013031.A.827.html
1F:推 askacis:alloc_bootmem應該是可以用,我從2.6x到3.x都是這樣挖 07/11 16:54
2F:→ askacis:只是你呼叫的時間點要在kernel剛起來記憶體還沒配置完全 07/11 16:55
3F:→ askacis:拿到的位置直接轉physical addr就可以用了~ 07/11 16:56
4F:推 askacis:我們硬體更誇張,需要連續記憶體都要一兩百MB的~ 07/11 16:58
5F:→ mayasky:來個CODEDUMP和SOURCE CODE大家會比較好幫你 07/12 16:44
6F:→ mayasky:COREDUMP 07/12 17:17
7F:→ enthos:http://rick.vanrein.org/linux/badram/ (For fun.) 07/13 01:48







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP