view uprogs/initcode.S @ 0:c450faca55f4

Init
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Sun, 22 Oct 2017 18:25:39 +0900
parents
children
line wrap: on
line source

# Initial process execs /init.

#include "syscall.h"
#include "traps.h"


# exec(init, argv)
.globl start
start:
  push {lr}
  ldr r0, =argv
  push {r0}
  ldr r0, =init
  push {r0}
  mov r0, #SYS_exec
  swi #T_SYSCALL
  pop {lr}
  pop {lr}
  pop {lr}
  bx lr

# for(;;) exit();
exit:
  mov r11, #SYS_exit
  swi #T_SYSCALL
  bl exit

# char init[] = "/init\0";
init:
  .string "/init\0"

# char *argv[] = { init, 0 };
.p2align 2
argv:
  .long init
  .long 0