Partager via


Add ATAPI Driver Registry Settings for IRQ Sharing (Compact 7)

3/12/2014

The ATAPI driver in Windows Embedded Compact 7 uses the exported functions NativeConfig, CreateNativePCIHD, and CreateNativePCIHDCD to support ATAPI controllers with interrupt request (IRQ) sharing (such as Serial Advanced Technology Attachment (SATA)). To support IRQ sharing, the platform.reg file in %_WINCEROOT%\platform\<your platform>\files must contain the following settings:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\GenericIDE]
    "ConfigEntry"="NativeConfig"    ; PCI configuration entry point
    "IsrDll"="giisr.dll"            ; bus-agnostic; installable ISR
    "IsrHandler"="ISRHandler"       ; bus-agnostic; installable ISR
    "SpawnFunction"="CreateNativePCIHDCD" or "CreateNativePCIHD" ; HD + CD/DVD or HD only
    "LegacyIRQ"=dword:ffffffff      ; explicitly sets native mode; not necessary for most cases

In most situations, you do not need to set the LegacyIRQ value to support IRQ sharing. The registry contains the default setting of legacy mode, in either the %_WINCEROOT%\public\common\oak\drivers\block\atapi\*.reg files or the platform.reg file. The ATAPI driver automatically detects the controller mode from the ProgIf value set by pcibus.dll and overwrites the default registry value to native mode if needed. The default setting must be legacy mode because the ATAPI driver can overwrite the LegacyIRQ value to support native mode, but it cannot change the value from native to legacy mode.

If the ProgIf value does not report the controller mode (using the bit definitions described in the NativeConfig function definition in %_WINCEROOT%\public\common\oak\drivers\block\atapi\pcicfg.cpp), you must set the LegacyIRQ value explicitly, as follows:

  • To support native mode, set the LegacyIRQ value as in the preceding example code.

  • To support legacy mode, set the LegacyIRQ value as follows:

        "LegacyIRQ"=dword:e
    

See Also

Concepts

Design-Dependent Changes