| /* | 
 |  * U-boot - stub functions for common kgdb code, | 
 |  *          can be overridden in board specific files | 
 |  * | 
 |  * Copyright 2009 Analog Devices Inc. | 
 |  * | 
 |  * Licensed under the GPL-2 or later. | 
 |  */ | 
 |  | 
 | #include <common.h> | 
 | #include <kgdb.h> | 
 |  | 
 | int (*debugger_exception_handler)(struct pt_regs *); | 
 |  | 
 | __attribute__((weak)) | 
 | void kgdb_serial_init(void) | 
 | { | 
 | 	puts("[on serial] "); | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | void putDebugChar(int c) | 
 | { | 
 | 	serial_putc(c); | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | void putDebugStr(const char *str) | 
 | { | 
 | #ifdef DEBUG | 
 | 	serial_puts(str); | 
 | #endif | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | int getDebugChar(void) | 
 | { | 
 | 	return serial_getc(); | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | void kgdb_interruptible(int yes) | 
 | { | 
 | 	return; | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | void kgdb_flush_cache_range(void *from, void *to) | 
 | { | 
 | 	flush_cache((unsigned long)from, (unsigned long)(to - from)); | 
 | } | 
 |  | 
 | __attribute__((weak)) | 
 | void kgdb_flush_cache_all(void) | 
 | { | 
 | 	if (dcache_status()) { | 
 | 		dcache_disable(); | 
 | 		dcache_enable(); | 
 | 	} | 
 | 	if (icache_status()) { | 
 | 		icache_disable(); | 
 | 		icache_enable(); | 
 | 	} | 
 | } |