32bit版のWindows Server 2003が128G PAEに対応してるか解析してみた

Physical Address Extension - PAE Memory and Windows - Windows 10 hardware dev
Windows Server 2003 は 128G PAEに対応してるというのが本当なのか調べてみました

 SUB_L00609FE2:
          mov    edi,edi
          push    ebp
          mov    ebp,esp
          sub    esp,0000000Ch
          and    dword ptr [ebp-0Ch],00000000h
          push    ebx
          push    esi
          push    edi
          mov    ebx,eax
          mov    esi,[ebx+64h]
          mov    edi,02000000h
          push    0000000Ah
          mov    dword ptr [ebp-04h],00100000h // 4G(デフォルト)
          mov    [ebp-08h],edi
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0060A019
          mov    dword ptr [ebp-04h],00080000h // 2G(Web Server Edition)
          jmp    L0060A082
 L0060A019:
          push    00000007h
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0060A02D
          test    esi,esi
          jnz    L0060A04F
          mov    [ebp-04h],edi // 128G (Datacenter)
          jmp    L0060A082
 L0060A02D:
          cmp    dword ptr [L0049FDE0],00690057h
          jz     L0060A05C
          push    00000001h
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0060A05C
          test    esi,esi
          mov    dword ptr [ebp-04h],01000000h // 64G (Enterprise)
          jz     L0060A082
 L0060A04F:
          mov    eax,00400000h
          mov    [ebp-04h],eax
          mov    [ebp-08h],eax
          jmp    L0060A082
 L0060A05C:
          push    00000004h
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0060A07B
          test    esi,esi
          mov    dword ptr [ebp-04h],00100000h //4G (Terminal Server)
          jz     L0060A082
          mov    dword ptr [ebp-08h],00400000h
          jmp    L0060A082
 L0060A07B:
          mov    dword ptr [ebp-08h],00100000h
 L0060A082:
          xor    esi,esi
          add    ebx,00000008h
          mov    eax,[ebx]
          jmp    L0060A0F5
 L0060A08B:

|。・ω・) 。o (マジでした)

 L0059F29B:
          cmp    edi,ebx
          jnc    L0059F27B
          push    0000000Ah
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0059F2B1
          mov    eax,00080000h // 2G(Web Server)
          jmp    L0059F2EA
 L0059F2B1:
          push    00000007h
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0059F2C3
          mov    eax,02000000h // 128G(Datacenter)
          jmp    L0059F2EA
 L0059F2C3:
          cmp    dword ptr [L0049FDE0],00000001h
          jnz    L0059F2DE
          push    00000001h
          call    ExVerifySuite
          cmp    al,01h
          jnz    L0059F2DE
          mov    eax,01000000h //64G(Enterprise)
          jmp    L0059F2EA
 L0059F2DE:
          push    00000004h
          call    ExVerifySuite
          mov    eax,00100000h // 4G(Normal)
 L0059F2EA:

SP2(5.2.3790.3959) や 2003 R2(5.2.3790.4980) も同じ
対応してる ・ω・ !

おすすめ

14件のフィードバック

  1. より:

    後半が仮想マシンでメモリ 128G のコンピュータを作り、Windows 2000をインストールする その1の内容になっている

  2. より:

    後半が仮想マシンでメモリ 128G のコンピュータを作り、Windows 2000をインストールする その1の内容になっている

  3. 黒翼猫 より:

    ありがとうございます。
    記事ジャンル複製したとき消し忘れました

  4. 黒翼猫 より:

    ありがとうございます。
    記事ジャンル複製したとき消し忘れました

  5. Dibya より:

    Hi BlackWingCat ,
    Which code is from hal and which one from kernel?
    I may help you , I got success of running XP 32 to handle 128GB pae . I guess you need to replace a 3 hal function with SRV 2003 code . Please mention which hal and kernel function you are trying to modify .

  6. Dibya より:

    Hi BlackWingCat ,
    Which code is from hal and which one from kernel?
    I may help you , I got success of running XP 32 to handle 128GB pae . I guess you need to replace a 3 hal function with SRV 2003 code . Please mention which hal and kernel function you are trying to modify .

  7. 黒翼猫 より:

    Windows 2000 does not need modify hal.

  8. 黒翼猫 より:

    Windows 2000 does not need modify hal.

  9. Dibya より:

    Then something some kernel code changes may be needed.

  10. Dibya より:

    Then something some kernel code changes may be needed.

  11. woodpeko より:

    こんばんは。XPは128Gまでいけるってことみたいですが2000は64Gまでってことかぁ。なるほどね。わたしはメモリーサイズで困ることはほとんど直面してきてませんでした。しかしメモリーサイズもそうですがAVX、AVX2、FMA3なども2000とかXPで動かせるようにできたらいいですね。できるかどうかわからないけど。

  12. woodpeko より:

    こんばんは。XPは128Gまでいけるってことみたいですが2000は64Gまでってことかぁ。なるほどね。わたしはメモリーサイズで困ることはほとんど直面してきてませんでした。しかしメモリーサイズもそうですがAVX、AVX2、FMA3なども2000とかXPで動かせるようにできたらいいですね。できるかどうかわからないけど。

  13. 黒翼猫 より:

    WinSrv2003sp1 HAL is same as win2000.

  14. 黒翼猫 より:

    WinSrv2003sp1 HAL is same as win2000.

コメントを残す

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