[Feature]add MT2731_MP2_MR2_SVN388 baseline version
Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/devtools/mrdump/mrdump_tool_source/mrdump_log.c b/src/devtools/mrdump/mrdump_tool_source/mrdump_log.c
new file mode 100644
index 0000000..3f3972b
--- /dev/null
+++ b/src/devtools/mrdump/mrdump_tool_source/mrdump_log.c
@@ -0,0 +1,71 @@
+/* vprintf, vsnprintf */
+#include <stdio.h>
+
+/* exit(), atoi() */
+#include <stdlib.h>
+
+#ifdef __YOCTO_OS__
+#include <stdarg.h>
+#endif
+
+/* mrdump related */
+#include "mrdump_log.h"
+
+
+static int mdlog_level = LOG_INFO;
+static int mdlog_write_syslog = 1;
+
+void mdlog_init(int level, int write_syslog)
+{
+ mdlog_level = level;
+ mdlog_write_syslog = write_syslog;
+ openlog("mrdump_tool", 0, 0);
+}
+
+void mdlog_printf(int log_prio, const char *fmt, ...)
+{
+ va_list ap;
+
+ if (log_prio > mdlog_level) {
+ return;
+ }
+
+ va_start(ap, fmt);
+ if (mdlog_write_syslog) {
+ vsyslog(log_prio, fmt, ap);
+ }
+ else {
+ char prefix;
+ if (log_prio <= LOG_ERR) {
+ prefix = 'E';
+ } else if (log_prio == LOG_WARNING) {
+ prefix = 'W';
+ } else if (log_prio <= LOG_INFO) {
+ prefix = 'I';
+ } else {
+ prefix = 'D';
+ }
+ putc(prefix, stderr);
+ putc(':', stderr);
+ vfprintf(stderr, fmt, ap);
+ }
+ va_end(ap);
+}
+
+void error(const char *msg, ...)
+{
+ va_list ap;
+ char msgbuf[128];
+
+ va_start(ap, msg);
+ if (mdlog_write_syslog) {
+ vsyslog(LOG_ERR, msg, ap);
+ }
+ else {
+ vsnprintf(msgbuf, sizeof(msgbuf), msg, ap);
+ fprintf(stderr, "Error: %s", msgbuf);
+ }
+ va_end(ap);
+
+ exit(2);
+}