如何获取磁盘制造商信息?

时间:2011-07-11 18:26:47

标签: assembly x86 disk

我正在学习编程ATA总线。在Bochs中,似乎我的r / w代码可以工作,但是我不能肯定地说,直到我尝试使用真正的磁盘。因此,我需要找到如何获取磁盘制造商信息,这是在谈论它的功能时最不重要的事情,但另一方面,在屏幕上打印这些信息是可以保证我不会拧的事情之一我的整个电脑。我试图谷歌这个,但不是很幸运。如果你能为我提供一些很棒的链接或提示。 thx stu。

ps - 首选没有中断的解决方案

2 个答案:

答案 0 :(得分:2)

我在this pdf(查找indetify device命令)中找到了解决方案,还有一个很好的C代码hereosdev上还有很多信息,如果您不太喜欢阅读源代码,我认为这些信息最好。使用Bochs它工作正常,Qemu工作正常,我的台式电脑工作正常,但当然笔记本电脑感觉有点特别,所以我无法使它工作。一个打印40个字符,看起来像pi,一个不打印任何东西。如果您有任何想法,请与我分享您的意见。希望参考文献能帮助其他寻求此信息的人。

修改

好吧,我的坏(当然),我忘了等BSY。获取所需信息的正确方法与在IDENTIFY命令下的osdev中描述的一样。还要确保在发送命令后读取所有数据,否则繁忙的led不会熄灭。

答案 1 :(得分:0)

我认为你应该尝试从linux内核调查libata。