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