2013-03-14 12:35:13 -06:00
|
|
|
// Copyright 2013 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
#include "runtime.h"
|
|
|
|
#include "defs_GOOS_GOARCH.h"
|
|
|
|
#include "os_GOOS.h"
|
2013-03-18 12:47:04 -06:00
|
|
|
#include "signal_GOOS_GOARCH.h"
|
2013-03-14 12:35:13 -06:00
|
|
|
|
|
|
|
void
|
|
|
|
runtime·lwp_mcontext_init(McontextT *mc, void *stack, M *mp, G *gp, void (*fn)(void))
|
|
|
|
{
|
2013-03-18 12:47:04 -06:00
|
|
|
mc->__gregs[REG_R15] = (uint32)runtime·lwp_tramp;
|
|
|
|
mc->__gregs[REG_R13] = (uint32)stack;
|
|
|
|
mc->__gregs[REG_R0] = (uint32)mp;
|
|
|
|
mc->__gregs[REG_R1] = (uint32)gp;
|
|
|
|
mc->__gregs[REG_R2] = (uint32)fn;
|
2013-03-14 12:35:13 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
runtime·checkgoarm(void)
|
|
|
|
{
|
|
|
|
// TODO(minux)
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma textflag 7
|
|
|
|
int64
|
|
|
|
runtime·cputicks() {
|
|
|
|
// Currently cputicks() is used in blocking profiler and to seed runtime·fastrand1().
|
|
|
|
// runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
|
|
|
|
// TODO: need more entropy to better seed fastrand1.
|
|
|
|
return runtime·nanotime();
|
|
|
|
}
|