console: Implement pre-console buffer
[oweals/u-boot.git] / arch / blackfin / include / asm / global_data.h
index c7099e6dac0acbc660141e6b9af96350ca480b41..f7aa71113de0b2765660a766ab33599d33d4649f 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2005-2007 Analog Devices Inc.
  *
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -37,7 +37,7 @@
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
  *
- * Keep it *SMALL* and remember to set CONFIG_SYS_GBL_DATA_SIZE > sizeof(gd_t)
+ * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 typedef struct global_data {
        bd_t *bd;
@@ -45,6 +45,9 @@ typedef struct global_data {
        unsigned long board_type;
        unsigned long baudrate;
        unsigned long have_console;     /* serial_init() was called */
+#ifdef CONFIG_PRE_CONSOLE_BUFFER
+       unsigned long   precon_buf_idx; /* Pre-Console buffer index */
+#endif
        phys_size_t ram_size;           /* RAM size */
        unsigned long env_addr; /* Address  of Environment struct */
        unsigned long env_valid;        /* Checksum of Environment valid? */
@@ -53,19 +56,21 @@ typedef struct global_data {
        unsigned long post_init_f_time; /* When post_init_f started */
 #endif
 
-       void **jt;              /* jump table */
+       void    **jt;                   /* jump table */
+       char    env_buf[32];            /* buffer for getenv() before reloc. */
 } gd_t;
 
 /*
  * Global Data Flags
  */
-#define        GD_FLG_RELOC    0x00001 /* Code was relocated to RAM     */
-#define        GD_FLG_DEVINIT  0x00002 /* Devices have been initialized */
-#define        GD_FLG_SILENT   0x00004 /* Silent mode                   */
-#define        GD_FLG_POSTFAIL 0x00008 /* Critical POST test failed     */
-#define        GD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted         */
-#define        GD_FLG_LOGINIT  0x00020 /* Log Buf has been initialized  */
-#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
+#define        GD_FLG_RELOC            0x00001 /* Code was relocated to RAM            */
+#define        GD_FLG_DEVINIT          0x00002 /* Devices have been initialized        */
+#define        GD_FLG_SILENT           0x00004 /* Silent mode                          */
+#define        GD_FLG_POSTFAIL         0x00008 /* Critical POST test failed            */
+#define        GD_FLG_POSTSTOP         0x00010 /* POST seqeunce aborted                */
+#define        GD_FLG_LOGINIT          0x00020 /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out)           */
+#define GD_FLG_ENV_READY       0x00080 /* Environment imported into hash table */
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t * volatile gd asm ("P3")