kernel

hobby kernel
git clone git://git.evenfri.xyz/kernel.git
Log | Files | Refs | README | LICENSE

boot.asm (514B)


      1 bits 32
      2 
      3 mb_align equ 1 << 0
      4 mb_meminfo equ 1 << 1
      5 mb_flags equ mb_align | mb_meminfo
      6 mb_magic equ 0x1badb002
      7 mb_checksum equ -(mb_magic + mb_flags)
      8 
      9 section .multiboot
     10 align 4
     11   dd mb_magic
     12   dd mb_flags
     13   dd mb_checksum
     14 
     15 section .bss
     16 align 16
     17 stack_bottom:
     18   resb 16384 ; 16 KiB 
     19 stack_top:
     20 
     21 section .text
     22 global _start
     23 extern start_kernel
     24 
     25 _start:
     26   ; setup stack
     27   mov esp, stack_top
     28 
     29   ; set arguments
     30   push ebx
     31   push eax
     32 
     33   ; enter the high-level kernel
     34   call start_kernel
     35 
     36   cli
     37 .loop:
     38   hlt
     39   jmp .loop