30 lines
573 B
ArmAsm
30 lines
573 B
ArmAsm
.globl __getcontext;
|
|
__getcontext:
|
|
movq %rdi, 8(%rdi)
|
|
movq %rsi, 16(%rdi)
|
|
movq %rdx, 24(%rdi)
|
|
movq %rcx, 32(%rdi)
|
|
movq %r8, 40(%rdi)
|
|
movq %r9, 48(%rdi)
|
|
movq $1, 56(%rdi) /* %rax */
|
|
movq %rbx, 64(%rdi)
|
|
movq %rbp, 72(%rdi)
|
|
movq %r10, 80(%rdi)
|
|
movq %r11, 88(%rdi)
|
|
movq %r12, 96(%rdi)
|
|
movq %r13, 104(%rdi)
|
|
movq %r14, 112(%rdi)
|
|
movq %r15, 120(%rdi)
|
|
|
|
movq (%rsp), %rcx /* %rip */
|
|
movq %rcx, 160(%rdi)
|
|
leaq 8(%rsp), %rcx /* %rsp */
|
|
movq %rcx, 184(%rdi)
|
|
|
|
movq 32(%rdi), %rcx /* restore %rcx */
|
|
movq $0, %rax
|
|
ret
|
|
|
|
.weak getcontext;
|
|
getcontext = __getcontext;
|