diff options
author | midipix <writeonce@midipix.org> | 2015-03-08 13:23:20 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2015-03-08 13:23:20 -0400 |
commit | 86062740f1e8eeb4c554055cf304dc1e0e87ea43 (patch) | |
tree | 35d8309221f4fd2050fefbc1b3b3957a1099ce8a /src/thread/nt64/syscall_cp.s | |
parent | 41058bd82ed2ae880c463d61e5702aef07681bf0 (diff) | |
download | mmglue-86062740f1e8eeb4c554055cf304dc1e0e87ea43.tar.bz2 mmglue-86062740f1e8eeb4c554055cf304dc1e0e87ea43.tar.xz |
initial commit of core port files.
signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information.
Diffstat (limited to 'src/thread/nt64/syscall_cp.s')
-rw-r--r-- | src/thread/nt64/syscall_cp.s | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/thread/nt64/syscall_cp.s b/src/thread/nt64/syscall_cp.s new file mode 100644 index 0000000..b8b7039 --- /dev/null +++ b/src/thread/nt64/syscall_cp.s @@ -0,0 +1,29 @@ +.text +.globl __syscall_cp_asm +.globl __cp_begin +.globl __cp_end + +__syscall_cp_asm: +__cp_begin: + movq (%rcx), %rcx /* check content of ptr */ + test %ecx, %ecx + jnz __cancel /* thread is pending cancellation */ + + movq %rdx, %rcx/* move water */ + movq %r8, %rdx/* from one glass */ + movq %r9, %r8 /* to another */ + movq 0x28(%rsp), %r9 + + movq 0x30(%rsp),%rax + movq %rax, 0x28(%rsp) + + movq 0x38(%rsp),%r10 + movq %r10, 0x30(%rsp) + + movq 0x40(%rsp),%r10 + movq %r10, 0x38(%rsp) + + jmp __syscall + +__cp_end: + ret |