最新版 Marvell Yukon Devices の LANドライバをWin2000に移植

Marvell - Support - Driver Downloads
ここでダウンロードできる 11.45.4.3 のXP版を Windows 2000 に移植してみたよ ・ω・

 SUB_L00010F80:
          mov    edi,edi
          push    ebp
          mov    ebp,esp
          mov    eax,[ebp+08h]
          push    esi
          xor    esi,esi
          cmp    [eax+00003EF0h],esi
          mov    dword ptr [eax+00003C18h],00000001h
          mov    dword ptr [eax+00003C1Ch],00000080h
          jle    L00010FE6
          push    ebx
          lea    edx,[eax+00001EA4h]
          push    edi
          nop
 L00010FB0:

Windows 2000

 SUB_L00010F60:
          mov    edi,edi
          push    ebp
          mov    ebp,esp
          push    esi
          mov    esi,[ebp+08h]
          mov    eax,[esi+00003EB0h]
          push    eax
          call    [NDIS.SYS!NdisMGetDmaAlignment]
          mov    [esi+00003C18h],eax
          test    eax,eax
          jnz    L00010F8A
          mov    dword ptr [esi+00003C18h],00000001h
 L00010F8A:
          mov    eax,[esi+00003C18h]
          cmp    eax,00000080h
          ja     L00010F9C
          mov    eax,00000080h

 L00010F9C:
          xor    edx,edx
          cmp    [esi+00003EF4h],edx
          mov    [esi+00003C1Ch],eax
          jle    L00010FF2
          push    ebx
          lea    ecx,[esi+00001EA4h]
          push    edi
          jmp    L00010FC0

Windows XP

Atheros の NIC ドライバを元に解析してみたNDIS 5.1と5.0の違い

以前、Atheros のドライバで実験した時は、NdisMGetDmaAlignment の返り値に 0x40を固定値で利用してたのだけど、 Marvellさんのドライバは 0x80のようだ

yk50x86_v11.45.1.3.cab

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です