aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/include/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/include/trace.h')
-rw-r--r--roms/skiboot/include/trace.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/roms/skiboot/include/trace.h b/roms/skiboot/include/trace.h
new file mode 100644
index 000000000..1b1be249c
--- /dev/null
+++ b/roms/skiboot/include/trace.h
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+/* Copyright 2013-2019 IBM Corp. */
+
+#ifndef __TRACE_H
+#define __TRACE_H
+#include <ccan/short_types/short_types.h>
+#include <stddef.h>
+#include <lock.h>
+#include <trace_types.h>
+
+
+struct cpu_thread;
+
+/* Here's one we prepared earlier. */
+void init_boot_tracebuf(struct cpu_thread *boot_cpu);
+
+struct trace_info {
+ /* Lock for writers. Exposed to kernel. */
+ struct lock lock;
+ /* Exposed to kernel. */
+ struct tracebuf tb;
+};
+
+#define TBUF_SZ ((1024 * 1024) - sizeof(struct trace_info) - sizeof(union trace))
+
+/* Allocate trace buffers once we know memory topology */
+void init_trace_buffers(void);
+void trace_add_dt_props(void);
+
+/* This will fill in timestamp and cpu; you must do type and len. */
+void trace_add(union trace *trace, u8 type, u16 len);
+
+/* Put trace node into dt. */
+void trace_add_node(void);
+#endif /* __TRACE_H */