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) も同じ
対応してる ・ω・ !
後半が仮想マシンでメモリ 128G のコンピュータを作り、Windows 2000をインストールする その1の内容になっている
後半が仮想マシンでメモリ 128G のコンピュータを作り、Windows 2000をインストールする その1の内容になっている
ありがとうございます。
記事ジャンル複製したとき消し忘れました
ありがとうございます。
記事ジャンル複製したとき消し忘れました
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 .
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 .
Windows 2000 does not need modify hal.
Windows 2000 does not need modify hal.
Then something some kernel code changes may be needed.
Then something some kernel code changes may be needed.
こんばんは。XPは128Gまでいけるってことみたいですが2000は64Gまでってことかぁ。なるほどね。わたしはメモリーサイズで困ることはほとんど直面してきてませんでした。しかしメモリーサイズもそうですがAVX、AVX2、FMA3なども2000とかXPで動かせるようにできたらいいですね。できるかどうかわからないけど。
こんばんは。XPは128Gまでいけるってことみたいですが2000は64Gまでってことかぁ。なるほどね。わたしはメモリーサイズで困ることはほとんど直面してきてませんでした。しかしメモリーサイズもそうですがAVX、AVX2、FMA3なども2000とかXPで動かせるようにできたらいいですね。できるかどうかわからないけど。
WinSrv2003sp1 HAL is same as win2000.
WinSrv2003sp1 HAL is same as win2000.