summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-12-21 19:19:56 -0500
committerIan Moffett <ian@osmora.org>2025-12-21 19:19:56 -0500
commit0874e73bfb52bb20c5df3452532658b3ccaf45bb (patch)
tree861a5937f593cd833163b3f18515e1a87e9fa768
parent21cc24baa135c1a2b882ba67c1e0b2cf9e64edfc (diff)
mos: kern: Add formatted trace helpers
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--mos/sys/inc/kern/trace.h11
-rw-r--r--mos/sys/kern/kern_trace.c12
2 files changed, 23 insertions, 0 deletions
diff --git a/mos/sys/inc/kern/trace.h b/mos/sys/inc/kern/trace.h
index 820478e..bf60380 100644
--- a/mos/sys/inc/kern/trace.h
+++ b/mos/sys/inc/kern/trace.h
@@ -6,6 +6,8 @@
#ifndef _KERN_TRACE_H_
#define _KERN_TRACE_H_
+#define TRACE_BUF_LEN 256
+
/*
* Write a raw null terminated string to the system
* trace logs
@@ -14,4 +16,13 @@
*/
void trace_raw(const char *str);
+/*
+ * Write a formatted string to the system trace
+ * logs
+ *
+ * @fmt: Format string
+ * @<...>: Args
+ */
+void trace(const char *fmt, ...);
+
#endif /* !_KERN_TRACE_H_ */
diff --git a/mos/sys/kern/kern_trace.c b/mos/sys/kern/kern_trace.c
index 65f32a6..ee4f6c7 100644
--- a/mos/sys/kern/kern_trace.c
+++ b/mos/sys/kern/kern_trace.c
@@ -20,3 +20,15 @@ trace_raw(const char *str)
len = strlen(str);
mu_uart_writed(str, len);
}
+
+void
+trace(const char *fmt, ...)
+{
+ char buf[TRACE_BUF_LEN];
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(buf, sizeof(buf), fmt, ap);
+ trace_raw(buf);
+ va_end(ap);
+}