proc.S 536 B

123456789101112131415161718192021222324252627
  1. #include"../common/asm.h"
  2. ENTRY(kernel_thread_func)
  3. popq %r15
  4. popq %r14
  5. popq %r13
  6. popq %r12
  7. popq %r11
  8. popq %r10
  9. popq %r9
  10. popq %r8
  11. popq %rbx
  12. popq %rcx
  13. popq %rdx
  14. popq %rsi
  15. popq %rdi
  16. popq %rbp
  17. popq %rax
  18. movq %rax, %ds
  19. popq %rax
  20. movq %rax, %es
  21. popq %rax
  22. addq $0x38, %rsp
  23. movq %rdx, %rdi
  24. callq *%rbx
  25. movq %rax, %rdi
  26. callq process_thread_do_exit