[ISAPNP] Generate a name for PDO, as required
[ISAPNP] Map configuration states to PnP states Rework the hardware support code to avoid unneeded transitions between configuration states. - Only call WaitForKey when needed. - Each PnP state transition causes the bus to move to WaitForKey state. Besides, deactivate logical device during processing remove request.
[ISAPNP] Fix descriptors and support alternative configurations - Fix empty resource descriptors being created. - Properly support IRQ descriptors. - Introduce four helpers made to help search descriptors in the logical device's requirements. - Implement support for memory descriptors and alternative configurations. - DMA descriptors are always DMA_8.
[ISAPNP] Rewrite the tag parser - Support all resource descriptors. - Optimize card identification. - Detect cards that is no longer present on the bus. - Deactivate cards after the identification phase; they will be activated by start device IRP. - Provide a device description and compatible IDs to the device manager. - Prevent duplicate IDs across multiple logical devices. - Suppress warning about the usage of literals in port addresses.
[ISAPNP] Implement the Read Port resource management Currently disabled until the kernel is ready
[ISAPNP] Fixes and improvements for IRP handling - Implement device removal. - Finish the Read Port special handling introduced in 21514e473f5. - Gracefully handle low memory situations. - Implement IRQ translator. - Correctly stub power IRP handling. - Remove unneeded dispatch routines; implement WMI IRP handling. - Do not handle requests like WRITE_CONFIG. - Add a signature member to device extensions to make checks clearer.
[ISAPNP] Implement querying bus information
[ISAPNP] Properly count descriptors Fixes random pool corruptions
[ISAPNP] Make Read Data Port PDO unique This PDO is created only once during start of first FDO. Other buses will remain in an inactive state until the first FDO receives a remove request. CORE-17034
[ISAPNP] Refactor string handling - Don't allocate string buffers twice.
[ISAPNP] Make the driver pageable
[ISAPNP] Use pool tagging
[ISAPNP] Code formatting - Add SAL2 annotations. - Use RTL_NUMBER_OF macro in kernel mode. - Use better function/member names. - Less hardcoded values. - Add license information. See commit d9face83c693cb5e3fad155df8609d9c13316061 for details. No functional changes.
[ISAPNP] Properly stub IRP_MJ_POWER
[ISAPNP] Report DMA channels
[ISAPNP] Fix reporting of devices with hexadecimal productId
[ISAPNP] Create requirements and resource lists when detecting a device
[ISAPNP] Read all tags when detecting devices, and keep interesting ones Currently, we only keep device identification, IO ports and IRQs.
[ISAPNP] Create resource list ahead of IRP_MN_QUERY_RESOURCES
[ISAPNP] Create resource requirements ahead of IRP_MN_QUERY_RESOURCE_REQUIREMENTS