aicommander wrote: [...]
The main problem with NDIS 5.1 drivers is the lack of S/G support in
HAL
(PRO/100 and PRO/1000 XP drivers are affected by this).
Could the follwing info from public MSDN help? If so, it seems to be a rather minor hack to make it work:
Scatter/gather DMA Scatter/gather DMA is a shortcut method that sets up several packet DMA transfers at once. If you are transferring a packet over the network, for example, each part of the network stack adds its own header (TCP, IP, Ethernet, and so forth). These headers are all allocated from different places in memory. In this case, the scatter/gather DMA saves time by issuing a batch request to the HAL to map each header plus the data segment for access by the hardware. Instead of having to call the packet DMA routines on each part of the packet, this method calls each routine once, and lets the HAL be responsible for mapping each one individually.
Note Scatter/gather capability does not mean that the device can use the scatter/gather routines. Scatter/gather capability refers to a flag in the device description that indicates that the device is able to read or write from any area in memory, instead of just a certain range.
--------
What I found to be the interesting (and easily hackable) part was "and lets the HAL be responsible for mapping each one individually".