AHCI: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m Corrected obvious error in code (can't find how to fix cmdslots though) |
m Add GHC.AHCI_ENABLE as a suggested method of detecting controller in AHCI mode |
||
Line 243: | Line 243: | ||
=== Determining what mode the controller is in === |
=== Determining what mode the controller is in === |
||
As you may be aware, a SATA controller can either be in IDE emulation mode or in AHCI mode. The problem that enters here is simple: <br /> |
As you may be aware, a SATA controller can either be in IDE emulation mode or in AHCI mode. The problem that enters here is simple: <br /> |
||
'''How to find what mode the controller is in'''. The documentation is really obscure on this. Perhaps the best way is to initialize a SATA controller as both IDE and AHCI. In this way, as long as you are careful about non-existent ports, you cannot go wrong. |
'''How to find what mode the controller is in'''. The documentation is really obscure on this. Perhaps the best way is to initialize a SATA controller as both IDE and AHCI. In this way, as long as you are careful about non-existent ports, you cannot go wrong. |
||
One possible way of doing this is by checking the bit 31 of GHC register. It's labeled as AHCI Enable. |
|||
== AHCI Registers and Memory Structures == |
== AHCI Registers and Memory Structures == |