OLD | NEW |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 // | 5 // |
6 // System calls and other sys.stuff for AMD64, Linux | 6 // System calls and other sys.stuff for AMD64, Linux |
7 // | 7 // |
8 | 8 |
9 #include "amd64/asm.h" | 9 #include "amd64/asm.h" |
10 | 10 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 | 93 |
94 TEXT ·mmap(SB),7,$0 | 94 TEXT ·mmap(SB),7,$0 |
95 MOVQ 8(SP), DI | 95 MOVQ 8(SP), DI |
96 MOVQ $0, SI | 96 MOVQ $0, SI |
97 MOVQ 16(SP), SI | 97 MOVQ 16(SP), SI |
98 MOVL 24(SP), DX | 98 MOVL 24(SP), DX |
99 MOVL 28(SP), R10 | 99 MOVL 28(SP), R10 |
100 MOVL 32(SP), R8 | 100 MOVL 32(SP), R8 |
101 MOVL 36(SP), R9 | 101 MOVL 36(SP), R9 |
102 | 102 |
103 » MOVL» $9, AX» » » // syscall entry | 103 » MOVL» $9, AX» » » // mmap |
104 SYSCALL | 104 SYSCALL |
105 CMPQ AX, $0xfffffffffffff001 | 105 CMPQ AX, $0xfffffffffffff001 |
106 JLS 3(PC) | 106 JLS 3(PC) |
107 NOTQ AX | 107 NOTQ AX |
108 INCQ AX | 108 INCQ AX |
109 RET | 109 RET |
110 | 110 |
| 111 TEXT munmap(SB),7,$0 |
| 112 MOVQ 8(SP), DI |
| 113 MOVQ 16(SP), SI |
| 114 MOVQ $11, AX // munmap |
| 115 SYSCALL |
| 116 CMPQ AX, $0xfffffffffffff001 |
| 117 JLS 2(PC) |
| 118 CALL notok(SB) |
| 119 RET |
| 120 |
111 TEXT notok(SB),7,$0 | 121 TEXT notok(SB),7,$0 |
112 MOVQ $0xf1, BP | 122 MOVQ $0xf1, BP |
113 MOVQ BP, (BP) | 123 MOVQ BP, (BP) |
114 RET | 124 RET |
115 | 125 |
116 // int64 futex(int32 *uaddr, int32 op, int32 val, | 126 // int64 futex(int32 *uaddr, int32 op, int32 val, |
117 // struct timespec *timeout, int32 *uaddr2, int32 val2); | 127 // struct timespec *timeout, int32 *uaddr2, int32 val2); |
118 TEXT futex(SB),7,$0 | 128 TEXT futex(SB),7,$0 |
119 MOVQ 8(SP), DI | 129 MOVQ 8(SP), DI |
120 MOVL 16(SP), SI | 130 MOVL 16(SP), SI |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 | 198 |
189 MOVQ DI, SI | 199 MOVQ DI, SI |
190 MOVQ $0x1002, DI // ARCH_SET_FS | 200 MOVQ $0x1002, DI // ARCH_SET_FS |
191 MOVQ $158, AX // arch_prctl | 201 MOVQ $158, AX // arch_prctl |
192 SYSCALL | 202 SYSCALL |
193 CMPQ AX, $0xfffffffffffff001 | 203 CMPQ AX, $0xfffffffffffff001 |
194 JLS 2(PC) | 204 JLS 2(PC) |
195 CALL notok(SB) | 205 CALL notok(SB) |
196 RET | 206 RET |
197 | 207 |
OLD | NEW |