我正在为装有SATA AHCI控制器的PC调试第二阶段引导加载程序。我能够枚举PCI总线并找到硬盘。到现在为止还好。现在,lspci在我的笔记本电脑(Dell Inspiron 1525)中向我展示:
-[0000:00]-+-1f.0 Intel Corporation 82801HEM (ICH8M) LPC Interface Controller
+-1f.1 Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller
+-1f.2 Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller
\-1f.3 Intel Corporation 82801H (ICH8 Family) SMBus Controller我的问题是: SATA AHCI控制器在任何PC上都是功能2吗?如果没有,我是怎么发现的?
我不会假装很普通;启动我的笔记本电脑就足够好了,而且不会影响进一步的改进。
发布于 2012-10-31 06:57:19
符合SATA AHCI标准的控制器应始终具有设备类别1(存储控制器)、子类别6(串行ATA)和接口1 (AHCI)。因此,正确的策略是枚举所有的PCI设备,并比较它们的类、子类和接口,以确定哪些实现了AHCI。请注意,根据主板以及是否插入任何其他AHCI卡,可能会有多个主板。
您可能还希望允许您的代码通过供应商和设备ID匹配AHCI控制器,因为一些早期的AHCI控制器没有适当的类/子类/接口集。
https://stackoverflow.com/questions/13147631
复制相似问题