2009-12-22 07:40:42 +08:00
|
|
|
/*
|
2016-02-06 11:30:11 +08:00
|
|
|
* U-Boot - stub functions for common kgdb code,
|
2009-12-22 07:40:42 +08:00
|
|
|
* can be overridden in board specific files
|
|
|
|
*
|
|
|
|
* Copyright 2009 Analog Devices Inc.
|
|
|
|
*
|
|
|
|
* Licensed under the GPL-2 or later.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <common.h>
|
2019-11-15 03:57:37 +08:00
|
|
|
#include <cpu_func.h>
|
2009-12-22 07:40:42 +08:00
|
|
|
#include <kgdb.h>
|
2019-11-15 03:57:24 +08:00
|
|
|
#include <serial.h>
|
2020-05-11 01:40:06 +08:00
|
|
|
#include <asm/ptrace.h>
|
2009-12-22 07:40:42 +08:00
|
|
|
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|