diff options
| author | Robin Getz <robin.getz@analog.com> | 2009-12-21 18:40:42 -0500 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-01-18 00:23:00 +0100 | 
| commit | 0c909551f88c0d92a919ff70127df7b33cdd473d (patch) | |
| tree | c919c756fe9217addfeb12a0d95ab358cd7e20c6 /common/kgdb_stubs.c | |
| parent | fa2744de6584c92750f807a006e20a59ee046e76 (diff) | |
| download | olio-uboot-2014.01-0c909551f88c0d92a919ff70127df7b33cdd473d.tar.xz olio-uboot-2014.01-0c909551f88c0d92a919ff70127df7b33cdd473d.zip | |
kgdb: add default generic stubs
The default kgdb functions can be implemented with common U-Boot functions,
so rather than force everyone to copy & paste these things, create a set of
weak stubs.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'common/kgdb_stubs.c')
| -rw-r--r-- | common/kgdb_stubs.c | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/common/kgdb_stubs.c b/common/kgdb_stubs.c new file mode 100644 index 000000000..19b0c1824 --- /dev/null +++ b/common/kgdb_stubs.c @@ -0,0 +1,64 @@ +/* + * 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(); +	} +} |