An x86-64 operating system built from xv6, now largely rewritten: SMP, a copy-on-write root filesystem (SchFS), PCI/USB/virtio drivers, a TTF rasteriser, and a Linux-numbered syscall ABI. No history before this point -- the tree was never under version control. This commit exists so the rename that follows has something to undo to.
25 lines
No EOL
283 B
ArmAsm
25 lines
No EOL
283 B
ArmAsm
#include "syscall.h"
|
|
#include "traps.h"
|
|
|
|
.code64
|
|
.section .text
|
|
.global start
|
|
|
|
start:
|
|
lea init(%rip), %rdi
|
|
lea argv(%rip), %rsi
|
|
mov $SYS_exec, %rax
|
|
syscall
|
|
|
|
exit:
|
|
mov $SYS_exit, %rax
|
|
syscall
|
|
jmp exit
|
|
|
|
init:
|
|
.string "/bin/init"
|
|
|
|
.p2align 3
|
|
argv:
|
|
.quad init
|
|
.quad 0
|