/* | |
* 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(); | |
} | |
} |