xref: /kvmtool/x86/init.S (revision 5614f9d933c9fac94886fe359f807a60acda3fa4)
1.data
2
3.m_dev:
4.string "hostfs"
5.m_dir:
6.string "/host"
7.m_typ:
8.string "9p"
9.m_opt:
10.string "trans=virtio,version=9p2000.L"
11
12.e_nam:
13.string "/virt/init"
14
15.text
16.globl _start
17_start:
18
19	mov $165, %rax		# __NR_mount
20	mov $.m_dev, %rdi
21	mov $.m_dir, %rsi
22	mov $.m_typ, %rdx
23	mov $1, %r10		# MS_RDONLY
24	mov $.m_opt, %r8
25	syscall
26
27	mov $59, %rax		# __NR_execve
28	mov $.e_nam, %rdi
29	lea 8(%rsp), %rsi	# argv[]
30	mov %rdi, (%rsi)	# change argv[0]
31	pop %rcx		# argc
32	inc %rcx
33	lea (%rsi,%rcx,8), %rdx # envp[]
34	syscall
35
36	mov $60, %rax		# __NR_exit
37	mov $1, %rdi
38	syscall			# panic
39