CeDOS - kernel/entry.s

kernel/entry.s (view raw)

.section .text
.global start
start:
  # move stack to kernel space
  mov $__KERNEL_STACK_ADDR, %eax
  mov %eax, %esp
  mov %esp, %ebp

  # setup floating point unit
  fninit

  # initialize kernel
  call os_init
  jz error

  # call main
  call os_main

loop:
  jmp loop

error:
  jmp error