summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/profile.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/arm/include/profile.h b/sys/arm/include/profile.h
index efd3003..4c5321b 100644
--- a/sys/arm/include/profile.h
+++ b/sys/arm/include/profile.h
@@ -72,6 +72,19 @@ extern int mcount_lock;
#endif
#endif /* GUPROF */
+void bintr(void);
+void btrap(void);
+void eintr(void);
+void user(void);
+
+#define MCOUNT_FROMPC_USER(pc) \
+ ((pc < (uintfptr_t)VM_MAXUSER_ADDRESS) ? (uintfptr_t)user : pc)
+
+#define MCOUNT_FROMPC_INTR(pc) \
+ ((pc >= (uintfptr_t)btrap && pc < (uintfptr_t)eintr) ? \
+ ((pc >= (uintfptr_t)bintr) ? (uintfptr_t)bintr : \
+ (uintfptr_t)btrap) : ~0U)
+
#else /* !_KERNEL */
#define FUNCTION_ALIGNMENT 4
OpenPOWER on IntegriCloud