+ /* Set up log version */
+ if ((s = getenv ("logversion")) != NULL)
+ log_version = (int)simple_strtoul (s, NULL, 10);
+
+ if (log_version == 2)
+ tag = log->v2.tag;
+ else
+ tag = log->v1.tag;
+ post_word = post_word_load();
+#ifdef CONFIG_POST
+ /* The post routines have setup the word so we can simply test it */
+ if (tag != LOGBUFF_MAGIC || (post_word & POST_COLDBOOT)) {
+ logbuff_reset ();
+ }
+#else
+ /* No post routines, so we do our own checking */
+ if (tag != LOGBUFF_MAGIC || post_word != LOGBUFF_MAGIC) {
+ logbuff_reset ();
+ post_word_store (LOGBUFF_MAGIC);
+ }
+#endif
+ if (log_version == 2 && (long)log->v2.start > (long)log->v2.con)
+ log->v2.start = log->v2.con;
+
+ /* Initialize default loglevel if present */
+ if ((s = getenv ("loglevel")) != NULL)
+ console_loglevel = (int)simple_strtoul (s, NULL, 10);
+
+ gd->flags |= GD_FLG_LOGINIT;
+}
+
+void logbuff_reset (void)
+{
+#ifndef CONFIG_ALT_LB_ADDR
+ memset (log, 0, sizeof (logbuff_t));
+#endif
+ if (log_version == 2) {
+ log->v2.tag = LOGBUFF_MAGIC;
+#ifdef CONFIG_ALT_LB_ADDR
+ log->v2.start = 0;
+ log->v2.con = 0;
+ log->v2.end = 0;
+ log->v2.chars = 0;
+#endif
+ } else {
+ log->v1.tag = LOGBUFF_MAGIC;
+#ifdef CONFIG_ALT_LB_ADDR
+ log->v1.dummy = 0;
+ log->v1.start = 0;
+ log->v1.size = 0;
+ log->v1.chars = 0;
+#endif
+ }
+}