X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fstart.asm;h=26f80422e4b9272264a2d704a0bb6579f0f197d2;hb=aab5ccdbe1608036091e2fb646d3e851ef6ad44d;hp=b6026de6b936ccbe97ba75dd6d8c53066b83ba91;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/start.asm b/KernelLand/Kernel/arch/x86/start.asm index b6026de6..26f80422 100644 --- a/KernelLand/Kernel/arch/x86/start.asm +++ b/KernelLand/Kernel/arch/x86/start.asm @@ -55,8 +55,9 @@ mboot: ; dd 8 ;mboot2_end: -[section .text] +[section .inittext] [extern kmain] +[extern Desctab_Install] [global start] start: ; Just show we're here @@ -87,11 +88,15 @@ start: .higher_half: mov WORD [0xB8006], 0x0773 ; 's' + + push ebx ; Multiboot Info + push eax ; Multiboot Magic Value + ; NOTE: These are actually for kmain + + call Desctab_Install mov WORD [0xB8008], 0x0773 ; 's' ; Call the kernel - push ebx ; Multiboot Info - push eax ; Multiboot Magic Value mov WORD [0xB800A], 0x0732 ; '2' call kmain @@ -138,7 +143,7 @@ APStartup: or al, 1 mov cr0, eax ; Jump into PMode - jmp 08h:DWORD .ProtectedMode-KERNEL_BASE + jmp 08h:DWORD .ProtectedMode [bits 32] .ProtectedMode: ; Load segment registers @@ -213,6 +218,10 @@ APStartup: jmp .hlt %endif +; +; +; +[section .text] [global GetEIP] GetEIP: mov eax, [esp]