mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	Drop the log buffer
This does not appear to be used by any boards. Before introducing a new log system, remove this old one. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
		| @@ -76,7 +76,6 @@ obj-$(CONFIG_LED_STATUS_CMD) += legacy_led.o | |||||||
| obj-$(CONFIG_CMD_LED) += led.o | obj-$(CONFIG_CMD_LED) += led.o | ||||||
| obj-$(CONFIG_CMD_LICENSE) += license.o | obj-$(CONFIG_CMD_LICENSE) += license.o | ||||||
| obj-y += load.o | obj-y += load.o | ||||||
| obj-$(CONFIG_LOGBUFFER) += log.o |  | ||||||
| obj-$(CONFIG_ID_EEPROM) += mac.o | obj-$(CONFIG_ID_EEPROM) += mac.o | ||||||
| obj-$(CONFIG_CMD_MD5SUM) += md5sum.o | obj-$(CONFIG_CMD_MD5SUM) += md5sum.o | ||||||
| obj-$(CONFIG_CMD_MEMORY) += mem.o | obj-$(CONFIG_CMD_MEMORY) += mem.o | ||||||
|   | |||||||
							
								
								
									
										313
									
								
								cmd/log.c
									
									
									
									
									
								
							
							
						
						
									
										313
									
								
								cmd/log.c
									
									
									
									
									
								
							| @@ -1,313 +0,0 @@ | |||||||
| /* |  | ||||||
|  * (C) Copyright 2002-2007 |  | ||||||
|  * Detlev Zundel, DENX Software Engineering, dzu@denx.de. |  | ||||||
|  * |  | ||||||
|  * Code used from linux/kernel/printk.c |  | ||||||
|  * Copyright (C) 1991, 1992  Linus Torvalds |  | ||||||
|  * |  | ||||||
|  * SPDX-License-Identifier:	GPL-2.0+ |  | ||||||
|  * |  | ||||||
|  * Comments: |  | ||||||
|  * |  | ||||||
|  * After relocating the code, the environment variable "loglevel" is |  | ||||||
|  * copied to console_loglevel.  The functionality is similar to the |  | ||||||
|  * handling in the Linux kernel, i.e. messages logged with a priority |  | ||||||
|  * less than console_loglevel are also output to stdout. |  | ||||||
|  * |  | ||||||
|  * If you want messages with the default level (e.g. POST messages) to |  | ||||||
|  * appear on stdout also, make sure the environment variable |  | ||||||
|  * "loglevel" is set at boot time to a number higher than |  | ||||||
|  * default_message_loglevel below. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Logbuffer handling routines |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #include <common.h> |  | ||||||
| #include <command.h> |  | ||||||
| #include <stdio_dev.h> |  | ||||||
| #include <post.h> |  | ||||||
| #include <logbuff.h> |  | ||||||
|  |  | ||||||
| DECLARE_GLOBAL_DATA_PTR; |  | ||||||
|  |  | ||||||
| /* Local prototypes */ |  | ||||||
| static void logbuff_putc(struct stdio_dev *dev, const char c); |  | ||||||
| static void logbuff_puts(struct stdio_dev *dev, const char *s); |  | ||||||
| static int logbuff_printk(const char *line); |  | ||||||
|  |  | ||||||
| static char buf[1024]; |  | ||||||
|  |  | ||||||
| /* This combination will not print messages with the default loglevel */ |  | ||||||
| static unsigned console_loglevel = 3; |  | ||||||
| static unsigned default_message_loglevel = 4; |  | ||||||
| static unsigned log_version = 1; |  | ||||||
| #ifdef CONFIG_ALT_LB_ADDR |  | ||||||
| static volatile logbuff_t *log; |  | ||||||
| #else |  | ||||||
| static logbuff_t *log; |  | ||||||
| #endif |  | ||||||
| static char *lbuf; |  | ||||||
|  |  | ||||||
| unsigned long __logbuffer_base(void) |  | ||||||
| { |  | ||||||
| 	return CONFIG_SYS_SDRAM_BASE + get_effective_memsize() - LOGBUFF_LEN; |  | ||||||
| } |  | ||||||
| unsigned long logbuffer_base(void) |  | ||||||
| __attribute__((weak, alias("__logbuffer_base"))); |  | ||||||
|  |  | ||||||
| void logbuff_init_ptrs(void) |  | ||||||
| { |  | ||||||
| 	unsigned long tag, post_word; |  | ||||||
| 	char *s; |  | ||||||
|  |  | ||||||
| #ifdef CONFIG_ALT_LB_ADDR |  | ||||||
| 	log = (logbuff_t *)CONFIG_ALT_LH_ADDR; |  | ||||||
| 	lbuf = (char *)CONFIG_ALT_LB_ADDR; |  | ||||||
| #else |  | ||||||
| 	log = (logbuff_t *)(logbuffer_base()) - 1; |  | ||||||
| 	lbuf = (char *)log->buf; |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	/* Set up log version */ |  | ||||||
| 	s = env_get("logversion"); |  | ||||||
| 	if (s) |  | ||||||
| 		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 */ |  | ||||||
| 	s = env_get("loglevel"); |  | ||||||
| 	if (s) |  | ||||||
| 		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 |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| int drv_logbuff_init(void) |  | ||||||
| { |  | ||||||
| 	struct stdio_dev logdev; |  | ||||||
| 	int rc; |  | ||||||
|  |  | ||||||
| 	/* Device initialization */ |  | ||||||
| 	memset (&logdev, 0, sizeof (logdev)); |  | ||||||
|  |  | ||||||
| 	strcpy (logdev.name, "logbuff"); |  | ||||||
| 	logdev.ext   = 0;			/* No extensions */ |  | ||||||
| 	logdev.flags = DEV_FLAGS_OUTPUT;	/* Output only */ |  | ||||||
| 	logdev.putc  = logbuff_putc;		/* 'putc' function */ |  | ||||||
| 	logdev.puts  = logbuff_puts;		/* 'puts' function */ |  | ||||||
|  |  | ||||||
| 	rc = stdio_register(&logdev); |  | ||||||
|  |  | ||||||
| 	return (rc == 0) ? 1 : rc; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static void logbuff_putc(struct stdio_dev *dev, const char c) |  | ||||||
| { |  | ||||||
| 	char buf[2]; |  | ||||||
| 	buf[0] = c; |  | ||||||
| 	buf[1] = '\0'; |  | ||||||
| 	logbuff_printk(buf); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static void logbuff_puts(struct stdio_dev *dev, const char *s) |  | ||||||
| { |  | ||||||
| 	logbuff_printk (s); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void logbuff_log(char *msg) |  | ||||||
| { |  | ||||||
| 	if ((gd->flags & GD_FLG_LOGINIT)) { |  | ||||||
| 		logbuff_printk(msg); |  | ||||||
| 	} else { |  | ||||||
| 		/* |  | ||||||
| 		 * Can happen only for pre-relocated errors as logging |  | ||||||
| 		 * at that stage should be disabled |  | ||||||
| 		 */ |  | ||||||
| 		puts (msg); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Subroutine:  do_log |  | ||||||
|  * |  | ||||||
|  * Description: Handler for 'log' command.. |  | ||||||
|  * |  | ||||||
|  * Inputs:	argv[1] contains the subcommand |  | ||||||
|  * |  | ||||||
|  * Return:      None |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
| int do_log(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |  | ||||||
| { |  | ||||||
| 	struct stdio_dev *sdev = NULL; |  | ||||||
| 	char *s; |  | ||||||
| 	unsigned long i, start, size; |  | ||||||
|  |  | ||||||
| 	if (strcmp(argv[1], "append") == 0) { |  | ||||||
| 		/* Log concatenation of all arguments separated by spaces */ |  | ||||||
| 		for (i = 2; i < argc; i++) { |  | ||||||
| 			logbuff_printk(argv[i]); |  | ||||||
| 			logbuff_putc(sdev, (i < argc - 1) ? ' ' : '\n'); |  | ||||||
| 		} |  | ||||||
| 		return 0; |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	switch (argc) { |  | ||||||
|  |  | ||||||
| 	case 2: |  | ||||||
| 		if (strcmp(argv[1], "show") == 0) { |  | ||||||
| 			if (log_version == 2) { |  | ||||||
| 				start = log->v2.start; |  | ||||||
| 				size = log->v2.end - log->v2.start; |  | ||||||
| 			} else { |  | ||||||
| 				start = log->v1.start; |  | ||||||
| 				size = log->v1.size; |  | ||||||
| 			} |  | ||||||
| 			if (size > LOGBUFF_LEN) |  | ||||||
| 				size = LOGBUFF_LEN; |  | ||||||
| 			for (i = 0; i < size; i++) { |  | ||||||
| 				s = lbuf + ((start + i) & LOGBUFF_MASK); |  | ||||||
| 				putc(*s); |  | ||||||
| 			} |  | ||||||
| 			return 0; |  | ||||||
| 		} else if (strcmp(argv[1], "reset") == 0) { |  | ||||||
| 			logbuff_reset(); |  | ||||||
| 			return 0; |  | ||||||
| 		} else if (strcmp(argv[1], "info") == 0) { |  | ||||||
| 			printf("Logbuffer   at  %08lx\n", (unsigned long)lbuf); |  | ||||||
| 			if (log_version == 2) { |  | ||||||
| 				printf("log_start    =  %08lx\n", |  | ||||||
| 					log->v2.start); |  | ||||||
| 				printf("log_end      =  %08lx\n", log->v2.end); |  | ||||||
| 				printf("log_con      =  %08lx\n", log->v2.con); |  | ||||||
| 				printf("logged_chars =  %08lx\n", |  | ||||||
| 					log->v2.chars); |  | ||||||
| 			} |  | ||||||
| 			else { |  | ||||||
| 				printf("log_start    =  %08lx\n", |  | ||||||
| 					log->v1.start); |  | ||||||
| 				printf("log_size     =  %08lx\n", |  | ||||||
| 					log->v1.size); |  | ||||||
| 				printf("logged_chars =  %08lx\n", |  | ||||||
| 					log->v1.chars); |  | ||||||
| 			} |  | ||||||
| 			return 0; |  | ||||||
| 		} |  | ||||||
| 		return CMD_RET_USAGE; |  | ||||||
|  |  | ||||||
| 	default: |  | ||||||
| 		return CMD_RET_USAGE; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| U_BOOT_CMD( |  | ||||||
| 	log,     255,	1,	do_log, |  | ||||||
| 	"manipulate logbuffer", |  | ||||||
| 	"info   - show pointer details\n" |  | ||||||
| 	"log reset  - clear contents\n" |  | ||||||
| 	"log show   - show contents\n" |  | ||||||
| 	"log append <msg> - append <msg> to the logbuffer" |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| static int logbuff_printk(const char *line) |  | ||||||
| { |  | ||||||
| 	int i; |  | ||||||
| 	char *msg, *p, *buf_end; |  | ||||||
| 	int line_feed; |  | ||||||
| 	static signed char msg_level = -1; |  | ||||||
|  |  | ||||||
| 	strcpy(buf + 3, line); |  | ||||||
| 	i = strlen(line); |  | ||||||
| 	buf_end = buf + 3 + i; |  | ||||||
| 	for (p = buf + 3; p < buf_end; p++) { |  | ||||||
| 		msg = p; |  | ||||||
| 		if (msg_level < 0) { |  | ||||||
| 			if ( |  | ||||||
| 				p[0] != '<' || |  | ||||||
| 				p[1] < '0' || |  | ||||||
| 				p[1] > '7' || |  | ||||||
| 				p[2] != '>' |  | ||||||
| 			) { |  | ||||||
| 				p -= 3; |  | ||||||
| 				p[0] = '<'; |  | ||||||
| 				p[1] = default_message_loglevel + '0'; |  | ||||||
| 				p[2] = '>'; |  | ||||||
| 			} else { |  | ||||||
| 				msg += 3; |  | ||||||
| 			} |  | ||||||
| 			msg_level = p[1] - '0'; |  | ||||||
| 		} |  | ||||||
| 		line_feed = 0; |  | ||||||
| 		for (; p < buf_end; p++) { |  | ||||||
| 			if (log_version == 2) { |  | ||||||
| 				lbuf[log->v2.end & LOGBUFF_MASK] = *p; |  | ||||||
| 				log->v2.end++; |  | ||||||
| 				if (log->v2.end - log->v2.start > LOGBUFF_LEN) |  | ||||||
| 					log->v2.start++; |  | ||||||
| 				log->v2.chars++; |  | ||||||
| 			} else { |  | ||||||
| 				lbuf[(log->v1.start + log->v1.size) & |  | ||||||
| 					 LOGBUFF_MASK] = *p; |  | ||||||
| 				if (log->v1.size < LOGBUFF_LEN) |  | ||||||
| 					log->v1.size++; |  | ||||||
| 				else |  | ||||||
| 					log->v1.start++; |  | ||||||
| 				log->v1.chars++; |  | ||||||
| 			} |  | ||||||
| 			if (*p == '\n') { |  | ||||||
| 				line_feed = 1; |  | ||||||
| 				break; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		if (msg_level < console_loglevel) { |  | ||||||
| 			printf("%s", msg); |  | ||||||
| 		} |  | ||||||
| 		if (line_feed) |  | ||||||
| 			msg_level = -1; |  | ||||||
| 	} |  | ||||||
| 	return i; |  | ||||||
| } |  | ||||||
| @@ -19,7 +19,6 @@ | |||||||
| #include <i2c.h> | #include <i2c.h> | ||||||
| #include <initcall.h> | #include <initcall.h> | ||||||
| #include <init_helpers.h> | #include <init_helpers.h> | ||||||
| #include <logbuff.h> |  | ||||||
| #include <malloc.h> | #include <malloc.h> | ||||||
| #include <mapmem.h> | #include <mapmem.h> | ||||||
| #include <os.h> | #include <os.h> | ||||||
| @@ -296,20 +295,6 @@ static int setup_dest_addr(void) | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| #if defined(CONFIG_LOGBUFFER) |  | ||||||
| static int reserve_logbuffer(void) |  | ||||||
| { |  | ||||||
| #ifndef CONFIG_ALT_LB_ADDR |  | ||||||
| 	/* reserve kernel log buffer */ |  | ||||||
| 	gd->relocaddr -= LOGBUFF_RESERVE; |  | ||||||
| 	debug("Reserving %dk for kernel logbuffer at %08lx\n", LOGBUFF_LEN, |  | ||||||
| 		gd->relocaddr); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #ifdef CONFIG_PRAM | #ifdef CONFIG_PRAM | ||||||
| /* reserve protected RAM */ | /* reserve protected RAM */ | ||||||
| static int reserve_pram(void) | static int reserve_pram(void) | ||||||
| @@ -846,9 +831,6 @@ static const init_fnc_t init_sequence_f[] = { | |||||||
| 	 *  - board info struct | 	 *  - board info struct | ||||||
| 	 */ | 	 */ | ||||||
| 	setup_dest_addr, | 	setup_dest_addr, | ||||||
| #if defined(CONFIG_LOGBUFFER) |  | ||||||
| 	reserve_logbuffer, |  | ||||||
| #endif |  | ||||||
| #ifdef CONFIG_PRAM | #ifdef CONFIG_PRAM | ||||||
| 	reserve_pram, | 	reserve_pram, | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -30,7 +30,6 @@ | |||||||
| #if defined(CONFIG_CMD_KGDB) | #if defined(CONFIG_CMD_KGDB) | ||||||
| #include <kgdb.h> | #include <kgdb.h> | ||||||
| #endif | #endif | ||||||
| #include <logbuff.h> |  | ||||||
| #include <malloc.h> | #include <malloc.h> | ||||||
| #include <mapmem.h> | #include <mapmem.h> | ||||||
| #ifdef CONFIG_BITBANGMII | #ifdef CONFIG_BITBANGMII | ||||||
| @@ -200,19 +199,6 @@ static int initr_addr_map(void) | |||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| unsigned long logbuffer_base(void) |  | ||||||
| { |  | ||||||
| 	return gd->ram_top - LOGBUFF_LEN; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static int initr_logbuffer(void) |  | ||||||
| { |  | ||||||
| 	logbuff_init_ptrs(); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #ifdef CONFIG_POST | #ifdef CONFIG_POST | ||||||
| static int initr_post_backlog(void) | static int initr_post_backlog(void) | ||||||
| { | { | ||||||
| @@ -628,7 +614,7 @@ static int initr_ide(void) | |||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #if defined(CONFIG_PRAM) || defined(CONFIG_LOGBUFFER) | #if defined(CONFIG_PRAM) | ||||||
| /* | /* | ||||||
|  * Export available size of memory for Linux, taking into account the |  * Export available size of memory for Linux, taking into account the | ||||||
|  * protected RAM at top of memory |  * protected RAM at top of memory | ||||||
| @@ -640,10 +626,6 @@ int initr_mem(void) | |||||||
|  |  | ||||||
| # ifdef CONFIG_PRAM | # ifdef CONFIG_PRAM | ||||||
| 	pram = env_get_ulong("pram", 10, CONFIG_PRAM); | 	pram = env_get_ulong("pram", 10, CONFIG_PRAM); | ||||||
| # endif |  | ||||||
| # if defined(CONFIG_LOGBUFFER) && !defined(CONFIG_ALT_LB_ADDR) |  | ||||||
| 	/* Also take the logbuffer into account (pram is in kB) */ |  | ||||||
| 	pram += (LOGBUFF_LEN + LOGBUFF_OVERHEAD) / 1024; |  | ||||||
| # endif | # endif | ||||||
| 	sprintf(memsz, "%ldk", (long int) ((gd->ram_size / 1024) - pram)); | 	sprintf(memsz, "%ldk", (long int) ((gd->ram_size / 1024) - pram)); | ||||||
| 	env_set("mem", memsz); | 	env_set("mem", memsz); | ||||||
| @@ -753,9 +735,6 @@ static init_fnc_t init_sequence_r[] = { | |||||||
| 	board_early_init_r, | 	board_early_init_r, | ||||||
| #endif | #endif | ||||||
| 	INIT_FUNC_WATCHDOG_RESET | 	INIT_FUNC_WATCHDOG_RESET | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| 	initr_logbuffer, |  | ||||||
| #endif |  | ||||||
| #ifdef CONFIG_POST | #ifdef CONFIG_POST | ||||||
| 	initr_post_backlog, | 	initr_post_backlog, | ||||||
| #endif | #endif | ||||||
| @@ -877,7 +856,7 @@ static init_fnc_t init_sequence_r[] = { | |||||||
| 	INIT_FUNC_WATCHDOG_RESET | 	INIT_FUNC_WATCHDOG_RESET | ||||||
| 	initr_bedbug, | 	initr_bedbug, | ||||||
| #endif | #endif | ||||||
| #if defined(CONFIG_PRAM) || defined(CONFIG_LOGBUFFER) | #if defined(CONFIG_PRAM) | ||||||
| 	initr_mem, | 	initr_mem, | ||||||
| #endif | #endif | ||||||
| #ifdef CONFIG_PS2KBD | #ifdef CONFIG_PS2KBD | ||||||
|   | |||||||
| @@ -15,10 +15,6 @@ | |||||||
| #include <status_led.h> | #include <status_led.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| #include <logbuff.h> |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #include <rtc.h> | #include <rtc.h> | ||||||
|  |  | ||||||
| #include <environment.h> | #include <environment.h> | ||||||
| @@ -1154,11 +1150,6 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len, | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| 	/* Prevent initrd from overwriting logbuffer */ |  | ||||||
| 	lmb_reserve(lmb, logbuffer_base() - LOGBUFF_OVERHEAD, LOGBUFF_RESERVE); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	debug("## initrd_high = 0x%08lx, copy_to_ram = %d\n", | 	debug("## initrd_high = 0x%08lx, copy_to_ram = %d\n", | ||||||
| 			initrd_high, initrd_copy_to_ram); | 			initrd_high, initrd_copy_to_ram); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -17,9 +17,6 @@ | |||||||
| #include <malloc.h> | #include <malloc.h> | ||||||
| #include <stdio_dev.h> | #include <stdio_dev.h> | ||||||
| #include <serial.h> | #include <serial.h> | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| #include <logbuff.h> |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #if defined(CONFIG_SYS_I2C) | #if defined(CONFIG_SYS_I2C) | ||||||
| #include <i2c.h> | #include <i2c.h> | ||||||
| @@ -380,9 +377,6 @@ int stdio_add_devices(void) | |||||||
| #endif /* CONFIG_DM_VIDEO */ | #endif /* CONFIG_DM_VIDEO */ | ||||||
| #if defined(CONFIG_KEYBOARD) && !defined(CONFIG_DM_KEYBOARD) | #if defined(CONFIG_KEYBOARD) && !defined(CONFIG_DM_KEYBOARD) | ||||||
| 	drv_keyboard_init (); | 	drv_keyboard_init (); | ||||||
| #endif |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| 	drv_logbuff_init (); |  | ||||||
| #endif | #endif | ||||||
| 	drv_system_init (); | 	drv_system_init (); | ||||||
| 	serial_stdio_init (); | 	serial_stdio_init (); | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ typedef struct global_data { | |||||||
| #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) | #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) | ||||||
| 	unsigned long fb_base;		/* Base address of framebuffer mem */ | 	unsigned long fb_base;		/* Base address of framebuffer mem */ | ||||||
| #endif | #endif | ||||||
| #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) | #if defined(CONFIG_POST) | ||||||
| 	unsigned long post_log_word;	/* Record POST activities */ | 	unsigned long post_log_word;	/* Record POST activities */ | ||||||
| 	unsigned long post_log_res;	/* success of POST test */ | 	unsigned long post_log_res;	/* success of POST test */ | ||||||
| 	unsigned long post_init_f_time;	/* When post_init_f started */ | 	unsigned long post_init_f_time;	/* When post_init_f started */ | ||||||
|   | |||||||
| @@ -1,49 +0,0 @@ | |||||||
| /* |  | ||||||
|  * (C) Copyright 2002-2007 |  | ||||||
|  * Detlev Zundel, dzu@denx.de. |  | ||||||
|  * |  | ||||||
|  * SPDX-License-Identifier:	GPL-2.0+ |  | ||||||
|  */ |  | ||||||
| #ifndef _LOGBUFF_H |  | ||||||
| #define _LOGBUFF_H |  | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
|  |  | ||||||
| #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 */ |  | ||||||
|  |  | ||||||
| #endif /* _LOGBUFF_H */ |  | ||||||
| @@ -15,7 +15,7 @@ | |||||||
| #include <common.h> | #include <common.h> | ||||||
| #include <asm/io.h> | #include <asm/io.h> | ||||||
|  |  | ||||||
| #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) | #if defined(CONFIG_POST) | ||||||
|  |  | ||||||
| #ifndef CONFIG_POST_EXTERNAL_WORD_FUNCS | #ifndef CONFIG_POST_EXTERNAL_WORD_FUNCS | ||||||
| #ifdef CONFIG_SYS_POST_WORD_ADDR | #ifdef CONFIG_SYS_POST_WORD_ADDR | ||||||
| @@ -58,7 +58,7 @@ extern ulong post_word_load(void); | |||||||
| extern void post_word_store(ulong value); | extern void post_word_store(ulong value); | ||||||
|  |  | ||||||
| #endif /* CONFIG_POST_EXTERNAL_WORD_FUNCS */ | #endif /* CONFIG_POST_EXTERNAL_WORD_FUNCS */ | ||||||
| #endif /* defined (CONFIG_POST) || defined(CONFIG_LOGBUFFER) */ | #endif /* defined (CONFIG_POST) */ | ||||||
| #endif /* __ASSEMBLY__ */ | #endif /* __ASSEMBLY__ */ | ||||||
|  |  | ||||||
| #ifdef CONFIG_POST | #ifdef CONFIG_POST | ||||||
|   | |||||||
| @@ -15,10 +15,6 @@ | |||||||
| #include <asm/gpio.h> | #include <asm/gpio.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| #include <logbuff.h> |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| DECLARE_GLOBAL_DATA_PTR; | DECLARE_GLOBAL_DATA_PTR; | ||||||
|  |  | ||||||
| #define POST_MAX_NUMBER		32 | #define POST_MAX_NUMBER		32 | ||||||
| @@ -407,13 +403,8 @@ int post_log(char *format, ...) | |||||||
| 	vsprintf(printbuffer, format, args); | 	vsprintf(printbuffer, format, args); | ||||||
| 	va_end(args); | 	va_end(args); | ||||||
|  |  | ||||||
| #ifdef CONFIG_LOGBUFFER |  | ||||||
| 	/* Send to the logbuffer */ |  | ||||||
| 	logbuff_log(printbuffer); |  | ||||||
| #else |  | ||||||
| 	/* Send to the stdout file */ | 	/* Send to the stdout file */ | ||||||
| 	puts(printbuffer); | 	puts(printbuffer); | ||||||
| #endif |  | ||||||
|  |  | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,10 +3,6 @@ | |||||||
|  * Wolfgang Denk, DENX Software Engineering, wd@denx.de. |  * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | ||||||
|  * |  * | ||||||
|  * SPDX-License-Identifier:	GPL-2.0+ |  * SPDX-License-Identifier:	GPL-2.0+ | ||||||
|  * |  | ||||||
|  * Be sure to mark tests to be run before relocation as such with the |  | ||||||
|  * CONFIG_SYS_POST_PREREL flag so that logging is done correctly if the |  | ||||||
|  * logbuffer support is enabled. |  | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <common.h> | #include <common.h> | ||||||
|   | |||||||
| @@ -1258,7 +1258,6 @@ CONFIG_LMS283GF05 | |||||||
| CONFIG_LOADADDR | CONFIG_LOADADDR | ||||||
| CONFIG_LOADCMD | CONFIG_LOADCMD | ||||||
| CONFIG_LOADS_ECHO | CONFIG_LOADS_ECHO | ||||||
| CONFIG_LOGBUFFER |  | ||||||
| CONFIG_LOWPOWER_ADDR | CONFIG_LOWPOWER_ADDR | ||||||
| CONFIG_LOWPOWER_FLAG | CONFIG_LOWPOWER_FLAG | ||||||
| CONFIG_LOW_MCFCLK | CONFIG_LOW_MCFCLK | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user