X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Flogbuff.h;h=d06d208844264e7b29e22f5a5ebc7b088c9e37ac;hb=aa3b8bf9c30065bb2ea852799d32db5020598495;hp=37445096a94d7488b3ae578c9ecf4da5dc9ce6ae;hpb=56f94be3ef63732384063e110277ed89701b6471;p=u-boot diff --git a/include/logbuff.h b/include/logbuff.h index 37445096a9..d06d208844 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,9 +25,37 @@ #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);