X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Flogbuff.h;h=ae7908ca3d20ca34e83200b51560c19fd03fc69a;hb=7d3053fbf16caad4745f42f7ae3e38e9d3e964b5;hp=37445096a94d7488b3ae578c9ecf4da5dc9ce6ae;hpb=56f94be3ef63732384063e110277ed89701b6471;p=u-boot diff --git a/include/logbuff.h b/include/logbuff.h index 37445096a9..ae7908ca3d 100644 --- a/include/logbuff.h +++ b/include/logbuff.h @@ -1,5 +1,5 @@ /* - * (C) Copyright 2002 + * (C) Copyright 2002-2007 * Detlev Zundel, dzu@denx.de. * * See file CREDITS for list of people who contributed to this @@ -25,11 +25,40 @@ #ifdef CONFIG_LOGBUFFER -#define LOGBUFF_TEST0 0x01 +#define LOGBUFF_MAGIC 0xc0de4ced /* Forced by code, eh! */ +#define LOGBUFF_LEN (16384) /* Must be 16k right now */ +#define LOGBUFF_MASK (LOGBUFF_LEN-1) +#define LOGBUFF_OVERHEAD (4096) /* Logbuffer overhead for extra info */ +#define LOGBUFF_RESERVE (LOGBUFF_LEN+LOGBUFF_OVERHEAD) + +/* The mapping used here has to be the same as in setup_ext_logbuff () + in linux/kernel/printk */ + +typedef struct { + union { + struct { + unsigned long tag; + unsigned long start; + unsigned long con; + unsigned long end; + unsigned long chars; + } v2; + struct { + unsigned long dummy; + unsigned long tag; + unsigned long start; + unsigned long size; + unsigned long chars; + } v1; + }; + unsigned char buf[0]; +} logbuff_t; int drv_logbuff_init (void); +void logbuff_init_ptrs (void); void logbuff_log(char *msg); void logbuff_reset (void); +unsigned long logbuffer_base (void); #endif /* CONFIG_LOGBUFFER */