1 /* 2 * U-Boot - stub functions for common kgdb code, 3 * can be overridden in board specific files 4 * 5 * Copyright 2009 Analog Devices Inc. 6 * 7 * Licensed under the GPL-2 or later. 8 */ 9 10 #include <cpu_func.h> 11 #include <kgdb.h> 12 #include <serial.h> 13 #include <asm/ptrace.h> 14 15 int (*debugger_exception_handler)(struct pt_regs *); 16 17 __attribute__((weak)) kgdb_serial_init(void)18void kgdb_serial_init(void) 19 { 20 puts("[on serial] "); 21 } 22 23 __attribute__((weak)) putDebugChar(int c)24void putDebugChar(int c) 25 { 26 serial_putc(c); 27 } 28 29 __attribute__((weak)) putDebugStr(const char * str)30void putDebugStr(const char *str) 31 { 32 #ifdef DEBUG 33 serial_puts(str); 34 #endif 35 } 36 37 __attribute__((weak)) getDebugChar(void)38int getDebugChar(void) 39 { 40 return serial_getc(); 41 } 42 43 __attribute__((weak)) kgdb_interruptible(int yes)44void kgdb_interruptible(int yes) 45 { 46 return; 47 } 48 49 __attribute__((weak)) kgdb_flush_cache_range(void * from,void * to)50void kgdb_flush_cache_range(void *from, void *to) 51 { 52 flush_cache((unsigned long)from, (unsigned long)(to - from)); 53 } 54 55 __attribute__((weak)) kgdb_flush_cache_all(void)56void kgdb_flush_cache_all(void) 57 { 58 if (dcache_status()) { 59 dcache_disable(); 60 dcache_enable(); 61 } 62 if (icache_status()) { 63 icache_disable(); 64 icache_enable(); 65 } 66 } 67