免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: OstrichFly
打印 上一主题 下一主题

[原创] 写一个块设备驱动 [复制链接]

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
171 [报告]
发表于 2010-08-23 14:45 |只看该作者
不错的文章啊

论坛徽章:
0
172 [报告]
发表于 2010-08-23 16:27 |只看该作者
好贴

论坛徽章:
0
173 [报告]
发表于 2010-08-23 16:59 |只看该作者

论坛徽章:
0
174 [报告]
发表于 2010-08-25 10:57 |只看该作者
1. 我在没有high mem的板子上跑,用kmap和kunmap会有core dump,只有改成page_address才行
2. 我在do_request里不是memcpy,而是走dma实际读写,也会出core dump,走__make_request后在queue_thread里调用读写函数就没问题,走自己的do_request同步走下来就不行了
在dma_map_single里出问题

[    1.500000] Backtrace:
[    1.500000] [<80056c18>] (run_posix_cpu_timers+0x0/0x9b0) from [<8004a550>] (update_process_times+0x50/0x54)
[    1.500000] [<8004a500>] (update_process_times+0x0/0x54) from [<800618f4>] (T.211+0x40/0xc4)
[    1.500000]  r5:00000000 r4:80466990
[    1.500000] [<800618b4>] (T.211+0x0/0xc4) from [<80061990>] (tick_handle_periodic+0x18/0x10
[    1.500000]  r9:c1108000 r8:00000001 r7:0000000a r6:00000000 r4:80423628
[    1.500000] r3:80061978
[    1.500000] [<80061978>] (tick_handle_periodic+0x0/0x10 from [<8002e3f0>] (my_timer_interrupt+0x54/0x5c)
[    1.500000] [<8002e39c>] (meson_timer_interrupt+0x0/0x5c) from [<8006eb78>] (handle_IRQ_event+0x58/0x120)
[    1.500000] [<8006eb20>] (handle_IRQ_event+0x0/0x120) from [<800708d8>] (handle_level_irq+0x7c/0x10c)
[    1.500000]  r7:8048b144 r6:00000000 r5:0000000a r4:80426bb4
[    1.500000] [<8007085c>] (handle_level_irq+0x0/0x10c) from [<80023048>] (asm_do_IRQ+0x48/0x94)
[    1.500000]  r5:0000000a r4:8043589c
[    1.500000] [<80023000>] (asm_do_IRQ+0x0/0x94) from [<80023b90>] (__irq_svc+0x30/0xc0)
[    1.500000] Exception stack(0x8fdd7870 to 0x8fdd78b
[    1.500000] 7860:                                     8fcb1080 8fcb1080 00000000 804449ec
[    1.500000] 7880: 8fccc080 80000013 c4200000 8048b144 00000001 c1108000 8048b144 8fdd78d4
[    1.500000] 78a0: c4200770 8fdd78b8 80029208 8002dd20 80000013 ffffffff
[    1.500000]  r6:00000001 r5:c1109a40 r4:ffffffff r3:80000013
[    1.500000] [<8002dc60>] (l2x0_inv_range+0x0/0x100) from [<80029208>] (___dma_single_dev_to_cpu+0x68/0x9
[    1.500000]  r7:8048b144 r6:00000002 r5:00020000 r4:8fcac080
[    1.500000] [<800291a0>] (___dma_single_dev_to_cpu+0x0/0x9 from [<8024c300>] (sd_send_cmd_hw+0x9c8/0xa34)

论坛徽章:
0
175 [报告]
发表于 2010-08-26 19:58 |只看该作者
楼主,太牛了,膜拜中....
我看了半个星期的块设备驱动,云里雾里,不知所云,楼主拨云见日,醍醐灌顶,小弟先谢过了!!!
ps:我也在南京,有空可以交流linux哈

论坛徽章:
0
176 [报告]
发表于 2010-08-26 20:35 |只看该作者

论坛徽章:
0
177 [报告]
发表于 2010-08-29 17:32 |只看该作者
mark下,好文章

论坛徽章:
0
178 [报告]
发表于 2010-09-13 22:15 |只看该作者
LZ的讲解太精彩了,今天下午看完了Linux设备驱动详解上面讲块设备的,让我们满头雾水,看了你的文章虽然说不能茅塞顿开,但是也已经开了一半了。由衷的对LZ

论坛徽章:
0
179 [报告]
发表于 2010-09-13 22:16 |只看该作者
LZ的讲解太精彩了,今天下午看完了Linux设备驱动详解上面讲块设备的,让我们满头雾水,看了你的文章虽然说不能茅塞顿开,但是也已经开了一半了。由衷的对LZ说一声谢谢

论坛徽章:
0
180 [报告]
发表于 2010-10-26 16:10 |只看该作者
楼主厉害,向您学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP