Today we present the new SATA AHCI Controller driver StorAhci version 1.0. StorAhci is based on Microsoft's storahci sample driver for Windows 8 and was changed to support Windows Server 2003 SP1 and SP2 with out of the box storport.sys driver. In addition we added a txtsetup.oem file to load it from a driver floppy disk at the F6 text setup stage. StorAhci is a universal SATA AHCI Controller driver for use with AMD, Intel and any other chipsets.
A special thank goes out to Skulltrail192 for his One-Core-API storahci driver, which was an inspiration for me to port the driver to Windows Server 2003.
How we build the StorAhci driver
We use the source files from the original WDK 8 StorAhci driver sample, which is freely available from Microsoft. The include files are taken from WDK 8 version 8.59.29757. To compile the Windows 2003 compatible driver we use DDK version 7600.16385.1. Our intention was to apply the smallest possible changes to the original code to prevent bugs. We have changed the following things to make the driver work for Windows 2003 Server:
- added INF and txtsetup.oem file to install the driver
- added makefile and sources file to compile the driver
- changed resource file
- added StorPortPatch header and code file with a few necessary StorPort functions and replaced the function StorPortExtendedFunction
- changed very important code sections like follows:
- size of HW_INITIALIZATION_DATA corrected to comply with storport.sys
- blocked read and write access beyond the end of the structure PORT_CONFIGURATION_INFORMATION
- setup physical address for ReadLogExtPageDataPhysicalAddress correctly
- PREfast and SAL (source code annotation language) changes to make the code compatible with the DDK version 7600.16385.1
- fixed PREfast and SAL warnings and errors
Which operating systems are supported?
StorAhci is build for Windows 2003 Server with Service Pack 1 and Service Pack 2 in both the x86 and the x64 editions. The driver does not work on Windows 2003 Server without Service Pack, because StorPortNotification inside storport.sys does not support the needed notification types. The driver was only tested on Windows 2003 Server with Service Pack 1 and 2, because starting with Windows Vista Microsoft includes a SATA AHCI driver on the installation media.