* linuxppc_2_4_devel patch to add KGDB support to gt64260 MPSC
@ 2003-05-22 23:28 Mark A. Greer
0 siblings, 0 replies; only message in thread
From: Mark A. Greer @ 2003-05-22 23:28 UTC (permalink / raw)
To: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 279 bytes --]
Patch that:
- Removes polled putc routine from arch/ppc/kernel/gt64260_common.c
- Creates arch/ppc/kernel/gt64260_dbg.c file that contains progress
routine and kgdb interface routine for gt64260 MPSC.
- Does some compiler warning cleanups on arch/ppc/kernel/gt64260_pic.c
Mark
[-- Attachment #2: gt_dbg.patch --]
[-- Type: text/plain, Size: 4716 bytes --]
===== arch/ppc/kernel/gt64260_common.c 1.15 vs edited =====
--- 1.15/arch/ppc/kernel/gt64260_common.c Tue Apr 1 12:43:14 2003
+++ edited/arch/ppc/kernel/gt64260_common.c Tue May 13 13:44:09 2003
@@ -1819,68 +1819,5 @@
memcpy(gt64260_mac_addrs[port], mac_addr, 6);
}
-
-#if defined(CONFIG_SERIAL_TEXT_DEBUG)
-/*
- *****************************************************************************
- *
- * Low-level MPSC/UART I/O routines
- *
- *****************************************************************************
- */
-
-/*
- * gt64260_putc()
- *
- * Dump a character out the MPSC port for gt64260_mpsc_progress
- * this assumes the baud rate has already been set up and the
- * MPSC initialized by the bootloader or firmware.
- */
-
-static inline void
-gt_putc(char c)
-{
- mb();
- gt_write(GT64260_MPSC_0_CHR_1, c);
- mb();
- gt_write(GT64260_MPSC_0_CHR_2, 0x200);
- mb();
-
- udelay(10000);
-}
-
-void
-puthex(unsigned long val)
-{
-
- int i;
-
- for (i = 7; i >= 0; i--) {
- gt_putc("0123456789ABCDEF"[(val>>28) & 0x0f]);
- val <<= 4;
- }
- gt_putc('\r');
- gt_putc('\n');
-
-}
-
-void
-gt64260_mpsc_progress(char *s, unsigned short hex)
-{
- /* spit stuff out the 64260 mpsc */
-
- volatile char c;
- while ((c = *s++) != 0){
- gt_putc(c);
- if ( c == '\n' ) gt_putc('\r');
- }
- gt_putc('\n');
- gt_putc('\r');
-
- return;
-}
-
-#endif /* CONFIG_DEBUG_TEXT */
-
EXPORT_SYMBOL(gt64260_set_base);
EXPORT_SYMBOL(gt64260_get_base);
===== arch/ppc/kernel/gt64260_dbg.c 1.1 vs edited =====
--- 1.1/arch/ppc/kernel/gt64260_dbg.c Tue May 6 11:38:27 2003
+++ edited/arch/ppc/kernel/gt64260_dbg.c Wed May 14 16:47:37 2003
@@ -0,0 +1,105 @@
+/*
+ * arch/ppc/kernel/gt64260_dbg.c
+ *
+ * KGDB and progress routines for the Marvell/Galileo GT64260 (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/gt64260.h>
+
+
+#if defined(CONFIG_SERIAL_TEXT_DEBUG)
+void
+gt64260_progress_init(void)
+{
+ if (ppc_md.early_serial_map) {
+ ppc_md.early_serial_map();
+ }
+ return;
+}
+
+void
+gt64260_mpsc_progress(char *s, unsigned short hex)
+{
+ volatile char c;
+
+ gt_polled_putc(0, '\r');
+
+ while ((c = *s++) != 0){
+ gt_polled_putc(0, c);
+ }
+
+ gt_polled_putc(0, '\n');
+ gt_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"
+#endif
+
+void
+putDebugChar(unsigned char c)
+{
+ gt_polled_putc(KGDB_PORT, (char)c);
+}
+
+int
+getDebugChar(void)
+{
+ unsigned char c;
+
+ while (!gt_polled_getc(KGDB_PORT, &c));
+ return (int)c;
+}
+
+void
+putDebugString(char* str)
+{
+ while (*str != '\0') {
+ putDebugChar(*str);
+ str++;
+ }
+ putDebugChar('\r');
+ return;
+}
+
+void
+kgdb_interruptible(int enable)
+{
+}
+
+void
+kgdb_map_scc(void)
+{
+ if (ppc_md.early_serial_map) {
+ ppc_md.early_serial_map();
+ }
+}
+#endif /* CONFIG_KGDB */
===== arch/ppc/kernel/gt64260_pic.c 1.12 vs edited =====
--- 1.12/arch/ppc/kernel/gt64260_pic.c Thu Mar 13 12:30:11 2003
+++ edited/arch/ppc/kernel/gt64260_pic.c Tue May 13 16:10:23 2003
@@ -172,13 +172,13 @@
#else /* !CONFIG_SMP */
static inline void
-gt_write_intr_mask_lo()
+gt_write_intr_mask_lo(void)
{
gt_write(gt64260_intr_mask_reg_offset[0][0], ppc_cached_irq_mask[0]);
}
static inline void
-gt_write_intr_mask_hi()
+gt_write_intr_mask_hi(void)
{
gt_write(gt64260_intr_mask_reg_offset[0][1], ppc_cached_irq_mask[1]);
}
@@ -362,7 +362,7 @@
* void
*/
-void
+static void
gt64260_unmask_irq(unsigned int irq)
{
irq -= gt64260_irq_base;
===== arch/ppc/kernel/Makefile 1.131 vs edited =====
--- 1.131/arch/ppc/kernel/Makefile Fri May 2 12:05:40 2003
+++ edited/arch/ppc/kernel/Makefile Tue May 6 18:04:28 2003
@@ -51,6 +51,10 @@
obj-$(CONFIG_KGDB) += gen550_kgdb.o gen550_dbg.o
obj-$(CONFIG_SERIAL_TEXT_DEBUG) += gen550_dbg.o
endif
+ifeq ($(CONFIG_GT64260_CONSOLE),y)
+obj-$(CONFIG_KGDB) += gt64260_dbg.o
+obj-$(CONFIG_SERIAL_TEXT_DEBUG) += gt64260_dbg.o
+endif
ifeq ($(CONFIG_4xx),y)
obj-$(CONFIG_4xx) += todc_time.o idle_4xx.o
obj-$(CONFIG_40x) += ppc4xx_setup.o ocp.o
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-05-22 23:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-22 23:28 linuxppc_2_4_devel patch to add KGDB support to gt64260 MPSC Mark A. Greer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).