📄 mv64x60_dbg.c
字号:
/* * arch/ppc/syslib/mv64x60_dbg.c * * KGDB and progress routines for the Marvell/Galileo MV64x60 (Discovery). * * Author: Mark A. Greer <mgreer@mvista.com> * * 2003 (c) MontaVista Software, Inc. This file is licensed under * the terms of the GNU General Public License version 2. This program * is licensed "as is" without any warranty of any kind, whether express * or implied. *//* ***************************************************************************** * * Low-level MPSC/UART I/O routines * ***************************************************************************** */#include <linux/config.h>#include <linux/irq.h>#include <asm/delay.h>#include <asm/mv64x60.h>#include <asm/machdep.h>#if defined(CONFIG_SERIAL_TEXT_DEBUG)#define MPSC_CHR_1 0x000c#define MPSC_CHR_2 0x0010static struct mv64x60_handle mv64x60_dbg_bh;voidmv64x60_progress_init(u32 base){ mv64x60_dbg_bh.v_base = base; return;}static voidmv64x60_polled_putc(int chan, char c){ u32 offset; if (chan == 0) offset = 0x8000; else offset = 0x9000; mv64x60_write(&mv64x60_dbg_bh, offset + MPSC_CHR_1, (u32)c); mv64x60_write(&mv64x60_dbg_bh, offset + MPSC_CHR_2, 0x200); udelay(2000);}voidmv64x60_mpsc_progress(char *s, unsigned short hex){ volatile char c; mv64x60_polled_putc(0, '\r'); while ((c = *s++) != 0) mv64x60_polled_putc(0, c); mv64x60_polled_putc(0, '\n'); mv64x60_polled_putc(0, '\r'); return;}#endif /* CONFIG_SERIAL_TEXT_DEBUG */#if defined(CONFIG_KGDB)#if defined(CONFIG_KGDB_TTYS0)#define KGDB_PORT 0#elif defined(CONFIG_KGDB_TTYS1)#define KGDB_PORT 1#else#error "Invalid kgdb_tty port"#endifvoidputDebugChar(unsigned char c){ mv64x60_polled_putc(KGDB_PORT, (char)c);}intgetDebugChar(void){ unsigned char c; while (!mv64x60_polled_getc(KGDB_PORT, &c)); return (int)c;}voidputDebugString(char* str){ while (*str != '\0') { putDebugChar(*str); str++; } putDebugChar('\r'); return;}voidkgdb_interruptible(int enable){}voidkgdb_map_scc(void){ if (ppc_md.early_serial_map) ppc_md.early_serial_map();}#endif /* CONFIG_KGDB */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -