关于在裸机用汇编语言访问磁盘的问题(PCI,SATA)

ARTELE 2016-08-16 06:01:23
最近看书上写的可以通过int 0x13中断去访问磁盘并且进行内容的读写,后来又发现有in,out访问0x1f0~0x1f7端口来读写磁盘,在bochs上代码运行起来是没有问题的,但是到了VM,VBOX,和真正的计算机上就不好使了,根本不能读写数据,在验证磁盘是否空闲的时候,直接就是死循环了,我通过找了资料,发现可能是新的主板是SATA属于PCI总线的,我个人认为可能就是原来访问磁盘的端口变成别的了,真的是这样嘛,如果是,那端口怎么访问,具体是多少?已经困扰两天了。
...全文
1307 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ARTELE 2020-04-07
  • 打赏
  • 举报
回复
引用 5 楼 月北 的回复:
[quote=引用 4 楼 ARTELE 的回复:] [quote=引用 2 楼 无业游农的回复:]坟贴, 同求答案, 我了解到的是PCIE通过内存地址映射操作的
我明白怎么做了,能访问到,时间过去太久了[/quote] 大佬我最近遇到了这个问题,保护模式下磁盘操作的问题,可以的话能帮忙发下源码吗?[/quote] 你要从SATA说明书入手,先访问PCI总线,然后根据SATA说明访问磁盘,源码早没了,但是大体思路是这样,你需要SATA开发手册
月北 2020-04-07
  • 打赏
  • 举报
回复
引用 4 楼 ARTELE 的回复:
[quote=引用 2 楼 无业游农的回复:]坟贴,
同求答案,
我了解到的是PCIE通过内存地址映射操作的

我明白怎么做了,能访问到,时间过去太久了[/quote]

大佬我最近遇到了这个问题,保护模式下磁盘操作的问题,可以的话能帮忙发下源码吗?
ARTELE 2020-01-31
  • 打赏
  • 举报
回复
引用 2 楼 无业游农的回复:
坟贴,
同求答案,
我了解到的是PCIE通过内存地址映射操作的
我明白怎么做了,能访问到,时间过去太久了
ARTELE 2019-03-29
  • 打赏
  • 举报
回复
问题解决了。
无业游农 2018-09-20
  • 打赏
  • 举报
回复
坟贴,
同求答案,
我了解到的是PCIE通过内存地址映射操作的

21,595

社区成员

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

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