请问怎么使用DMA模式来对IDE(AT)硬盘进行I/O操作呢?

hearmin 2006-03-06 03:47:06
小弟最近正在编写操作系统的文件系统部分,现在正在完成硬盘驱动,查了不少资料,只查到用PIO(programmed I/O)方式进行的硬盘操作,为了提高这个系统的效率,我想采用DMA的方式进行硬盘操作。我用的是bochs模拟器,模拟器中的硬盘参数设置如下:
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="c.img", mode=flat, cylinders=20, heads=16, spt=63

不知哪位高手了解通过DMA方式进行硬盘操作,请指教~~
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiangua 2006-03-07
  • 打赏
  • 举报
回复
ATA/ATAPI协议看看不就可以拉。
seaquester 2006-03-07
  • 打赏
  • 举报
回复
还可以参考以下linux里面的IDE驱动

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧