]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/logbuff.h
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
[karo-tx-uboot.git] / include / logbuff.h
1 /*
2  * (C) Copyright 2002-2007
3  * Detlev Zundel, dzu@denx.de.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7 #ifndef _LOGBUFF_H
8 #define _LOGBUFF_H
9
10 #ifdef CONFIG_LOGBUFFER
11
12 #define LOGBUFF_MAGIC   0xc0de4ced      /* Forced by code, eh!  */
13 #define LOGBUFF_LEN     (16384) /* Must be 16k right now */
14 #define LOGBUFF_MASK    (LOGBUFF_LEN-1)
15 #define LOGBUFF_OVERHEAD (4096) /* Logbuffer overhead for extra info */
16 #define LOGBUFF_RESERVE (LOGBUFF_LEN+LOGBUFF_OVERHEAD)
17
18 /* The mapping used here has to be the same as in setup_ext_logbuff ()
19    in linux/kernel/printk */
20
21 typedef struct {
22         union {
23                 struct {
24                         unsigned long   tag;
25                         unsigned long   start;
26                         unsigned long   con;
27                         unsigned long   end;
28                         unsigned long   chars;
29                 } v2;
30                 struct {
31                         unsigned long   dummy;
32                         unsigned long   tag;
33                         unsigned long   start;
34                         unsigned long   size;
35                         unsigned long   chars;
36                 } v1;
37         };
38         unsigned char   buf[0];
39 } logbuff_t;
40
41 int drv_logbuff_init (void);
42 void logbuff_init_ptrs (void);
43 void logbuff_log(char *msg);
44 void logbuff_reset (void);
45 unsigned long logbuffer_base (void);
46
47 #endif /* CONFIG_LOGBUFFER */
48
49 #endif /* _LOGBUFF_H */