aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/pmc.h
diff options
context:
space:
mode:
authorJoseph Koshy <jkoshy@FreeBSD.org>2007-12-03 11:11:08 +0000
committerJoseph Koshy <jkoshy@FreeBSD.org>2007-12-03 11:11:08 +0000
commitc438255074054c6f70d90f2ab726db1b850940e6 (patch)
tree0a4ddd64acca61be6a7ad712882f91b392d9d4c2 /sys/sys/pmc.h
parent0b84422642d3d62109965c8179665db7b8255e73 (diff)
downloadsrc-c438255074054c6f70d90f2ab726db1b850940e6.tar.gz
src-c438255074054c6f70d90f2ab726db1b850940e6.zip
Add userland definitions for parsing callchain records.
Sponsored by: FreeBSD Foundation and Google Inc.
Notes
Notes: svn path=/head/; revision=174214
Diffstat (limited to 'sys/sys/pmc.h')
-rw-r--r--sys/sys/pmc.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/sys/pmc.h b/sys/sys/pmc.h
index c0329afedaa3..1656a92856ed 100644
--- a/sys/sys/pmc.h
+++ b/sys/sys/pmc.h
@@ -1,7 +1,11 @@
/*-
- * Copyright (c) 2003-2006, Joseph Koshy
+ * Copyright (c) 2003-2007, Joseph Koshy
+ * Copyright (c) 2007 The FreeBSD Foundation
* All rights reserved.
*
+ * Portions of this software were developed by A. Joseph Koshy under
+ * sponsorship from the FreeBSD Foundation and Google, Inc.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -263,7 +267,6 @@ enum pmc_event {
* "PMC_OPS" -- these are the commands recognized by the kernel
* module, and are used when performing a system call from userland.
*/
-
#define __PMC_OPS() \
__PMC_OP(CONFIGURELOG, "Set log file") \
__PMC_OP(FLUSHLOG, "Flush log file") \
@@ -301,12 +304,17 @@ enum pmc_ops {
#define PMC_F_NEWVALUE 0x00000010 /*OP RW write new value */
#define PMC_F_OLDVALUE 0x00000020 /*OP RW get old value */
#define PMC_F_KGMON 0x00000040 /*OP ALLOCATE kgmon(8) profiling */
+/* V2 API */
+#define PMC_F_CALLCHAIN 0x00000080 /*OP ALLOCATE capture callchains */
/* internal flags */
#define PMC_F_ATTACHED_TO_OWNER 0x00010000 /*attached to owner*/
#define PMC_F_NEEDS_LOGFILE 0x00020000 /*needs log file */
#define PMC_F_ATTACH_DONE 0x00040000 /*attached at least once */
+#define PMC_CALLCHAIN_DEPTH_MAX 32
+#define PMC_CC_F_USERSPACE 0x01 /*userspace callchain*/
+
/*
* Cookies used to denote allocated PMCs, and the values of PMCs.
*/