diff options
author | Hongliang Wang <wanghongliang@loongson.cn> | 2023-09-26 09:12:01 +0800 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2024-02-16 09:33:10 -0500 |
commit | 522bd54edaa2fa404fd428f8ad0bcb0f0bec5639 (patch) | |
tree | dfe88361bcbbd17ac53b8af36cb52337f21095e9 /src/thread/loongarch64/syscall_cp.s | |
parent | 4a16ddf53e7c634169d0a649782f8a724611f263 (diff) | |
download | musl-522bd54edaa2fa404fd428f8ad0bcb0f0bec5639.tar.gz |
add loongarch64 port
Author: Xiaojuan Zhai <zhaixiaojuan@loongson.cn>
Author: Meidan Li <limeidan@loongson.cn>
Author: Guoqi Chen <chenguoqi@loongson.cn>
Author: Xiaolin Zhao <zhaoxiaolin@loongson.cn>
Author: Fan peng <fanpeng@loongson.cn>
Author: Jiantao Shan <shanjiantao@loongson.cn>
Author: Xuhui Qiang <qiangxuhui@loongson.cn>
Author: Jingyun Hua <huajingyun@loongson.cn>
Author: Liu xue <liuxue@loongson.cn>
Author: Hongliang Wang <wanghongliang@loongson.cn>
Diffstat (limited to 'src/thread/loongarch64/syscall_cp.s')
-rw-r--r-- | src/thread/loongarch64/syscall_cp.s | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/thread/loongarch64/syscall_cp.s b/src/thread/loongarch64/syscall_cp.s new file mode 100644 index 00000000..c057a97b --- /dev/null +++ b/src/thread/loongarch64/syscall_cp.s @@ -0,0 +1,29 @@ +.global __cp_begin +.hidden __cp_begin +.global __cp_end +.hidden __cp_end +.global __cp_cancel +.hidden __cp_cancel +.hidden __cancel +.global __syscall_cp_asm +.hidden __syscall_cp_asm +.type __syscall_cp_asm,@function + +__syscall_cp_asm: +__cp_begin: + ld.w $a0, $a0, 0 + bnez $a0, __cp_cancel + move $t8, $a1 # reserve system call number + move $a0, $a2 + move $a1, $a3 + move $a2, $a4 + move $a3, $a5 + move $a4, $a6 + move $a5, $a7 + move $a7, $t8 + syscall 0 +__cp_end: + jr $ra +__cp_cancel: + la.local $t8, __cancel + jr $t8 |