summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/profile.h
Commit message (Collapse)AuthorAgeFilesLines
* - Add bits for userland profiling. For sun4u this is compile-tested only.marius2007-05-111-4/+36
| | | | - Replace magic 14 with PIL_TICK.
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Move the kernel-specific logic to adjust frompc from MI to MD. Formarcel2004-08-271-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | these two reasons: 1. On ia64 a function pointer does not hold the address of the first instruction of a functions implementation. It holds the address of a function descriptor. Hence the user(), btrap(), eintr() and bintr() prototypes are wrong for getting the actual code address. 2. The logic forces interrupt, trap and exception entry points to be layed-out contiguously. This can not be achieved on ia64 and is generally just bad programming. The MCOUNT_FROMPC_USER macro is used to set the frompc argument to some kernel address which represents any frompc that falls outside the kernel text range. The macro can expand to ~0U to bail out in that case. The MCOUNT_FROMPC_INTR macro is used to set the frompc argument to some kernel address to represent a call to a trap or interrupt handler. This to avoid that the trap or interrupt handler appear to be called from everywhere in the call graph. The macro can expand to ~0U to prevent adjusting frompc. Note that the argument is selfpc, not frompc. This commit defines the macros on all architectures equivalently to the original code in sys/libkern/mcount.c. People can take it from here... Compile-tested on: alpha, amd64, i386, ia64 and sparc64 Boot-tested on: i386
* Moved most of the "MI" definitions and declarations from <machine/profile.h>bde2004-05-191-30/+1
| | | | | | to <sys/gmon.h>. Cleaned them up a little by not attempting to ifdef for incomplete and out of date support for GUPROF in userland, as in the sparc64 version.
* Add definitions for statistical and high-resolution profiling. The callingjake2002-07-301-14/+35
| | | | | | | | conventions for _mcount and __cyg_profile_func_enter are different, so statistical profiling kernels build and link but don't actually work. IWBNI one could tell gcc to only generate calls to the former. Define uintfptr_t properly for userland, but not for the kernel (I hope).
* Revert the previous delta; uintfptr_t needs to be available tomike2002-07-281-0/+1
| | | | | | | | | userland for libc/gmon to compile, so the typedef in <machine/types.h> isn't good enough. This is really ugly since we end up with the actual value which uintfptr_t is typedef'd from, in multiple places. This is bug for bug compatible with the other FreeBSD architectures. Noticed by: sparc64 tinderbox
* uintfptr_t has moved to machine/types.h.jake2002-07-271-1/+0
|
* Remove a couple of __P() stragglers.peter2002-06-291-4/+4
|
* Add kernel headers needed to build libc. Some are bogus and/or just enoughjake2001-11-181-0/+65
to compile. Mostly obtained from: netbsd
OpenPOWER on IntegriCloud