/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */typedef struct Tos Tos;typedef struct Plink Plink;#pragma incomplete Plinkstruct Tos { struct /* Per process profiling */ { Plink *pp; /* known to be 0(ptr) */ Plink *next; /* known to be 4(ptr) */ Plink *last; Plink *first; ulong pid; ulong what; } prof; uvlong cyclefreq; /* cycle clock frequency if there is one, 0 otherwise */ vlong kcycles; /* cycles spent in kernel */ vlong pcycles; /* cycles spent in process (kernel + user) */ ulong pid; /* might as well put the pid here */ ulong clock; /* scratch space for kernel use (e.g., mips fp delay-slot execution) */ ulong kscr[4]; /* top of stack is here */};extern Tos *_tos;
/*
* This file is part of the UCB release of Plan 9. It is subject to the license
* terms in the LICENSE file found in the top-level directory of this
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
* part of the UCB release of Plan 9, including this file, may be copied,
* modified, propagated, or distributed except according to the terms contained
* in the LICENSE file.
*/
typedef struct Tos Tos;
typedef struct Plink Plink;
#pragma incomplete Plink
struct Tos {
struct /* Per process profiling */
{
Plink *pp; /* known to be 0(ptr) */
Plink *next; /* known to be 4(ptr) */
Plink *last;
Plink *first;
ulong pid;
ulong what;
} prof;
uvlong cyclefreq; /* cycle clock frequency if there is one, 0 otherwise */
vlong kcycles; /* cycles spent in kernel */
vlong pcycles; /* cycles spent in process (kernel + user) */
ulong pid; /* might as well put the pid here */
ulong clock;
/* scratch space for kernel use (e.g., mips fp delay-slot execution) */
ulong kscr[4];
/* top of stack is here */
};
extern Tos *_tos;