Joel Sing | cfc8099 | 2014-11-22 16:05:31 +1100 | [diff] [blame] | 1 | // Copyright 2009 The Go Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | package runtime |
| 6 | |
| 7 | import "unsafe" |
| 8 | |
| 9 | func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) { |
| 10 | // Machine dependent mcontext initialisation for LWP. |
| 11 | mc.__gregs[_REG_RIP] = uint64(funcPC(lwp_tramp)) |
| 12 | mc.__gregs[_REG_RSP] = uint64(uintptr(stk)) |
| 13 | mc.__gregs[_REG_R8] = uint64(uintptr(unsafe.Pointer(mp))) |
| 14 | mc.__gregs[_REG_R9] = uint64(uintptr(unsafe.Pointer(gp))) |
| 15 | mc.__gregs[_REG_R12] = uint64(fn) |
| 16 | } |