X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Fstart32.asm;h=6ee9262b8f7a10618baa955de69649f4ed99c9c7;hb=5255c9f07cb2e0e43cf283e256c964eaa7970c8e;hp=0178bddb27d7ed91baec480dafbcba4f5b7e6f67;hpb=dea6bcf35a3f52396724d74e47f71cb3afade37c;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/start32.asm b/Kernel/arch/x86_64/start32.asm index 0178bddb..6ee9262b 100644 --- a/Kernel/arch/x86_64/start32.asm +++ b/Kernel/arch/x86_64/start32.asm @@ -42,7 +42,7 @@ start: cmp eax, 0x80000001 ; Compare the A-register with 0x80000001. mov eax, 0x80000001 cpuid - jb .not64bitCapable + jb .not64bitCapable test edx, 1<<29 jz .not64bitCapable @@ -89,6 +89,7 @@ start: [section .data] [global gGDT] +[global gGDTPtr] gGDT: dd 0,0 dd 0x00000000, 0x00209A00 ; 0x08: 64-bit Code @@ -113,7 +114,7 @@ gMultibootPtr: [global gInitialPML4] gInitialPML4: ; Covers 256 TiB (Full 48-bit Virtual Address Space) dd gInitialPDP - KERNEL_BASE + 3, 0 ; Identity Map Low 4Mb - times 512-1-4 dq 0 + times 512-4-1 dq 0 dd gInitialPML4 - KERNEL_BASE + 3, 0 ; Fractal Mapping dq 0 dq 0 @@ -125,7 +126,8 @@ gInitialPDP: ; Covers 512 GiB gHighPDP: ; Covers 512 GiB times 510 dq 0 - dq 0 + 0x143 ; 1 GiB Page from zero + ;dq 0 + 0x143 ; 1 GiB Page from zero + dd gInitialPD - KERNEL_BASE + 3, 0 dq 0 gInitialPD: ; Covers 1 GiB