[PATCH] ia64 kgdb

From: Robert Picco
Date: Mon Jun 28 2004 - 13:07:16 EST


Hi Andrew:

This fixes the broken kgdb patch.

thanks,

Bob

Signed-off-by: Bob Picco at Robert.Picco@xxxxxx

diff -ruN -X /home/picco/losl/dontdiff linux-2.6.7-mm3-orig/drivers/firmware/pcdp.c linux-2.6.7-mm3-kgdb/drivers/firmware/pcdp.c
--- linux-2.6.7-mm3-orig/drivers/firmware/pcdp.c 2004-06-27 13:32:37.000000000 -0400
+++ linux-2.6.7-mm3-kgdb/drivers/firmware/pcdp.c 2004-06-28 10:16:15.000000000 -0400
@@ -51,13 +51,20 @@
}

static void __init
+#ifndef CONFIG_KGDB_EARLY
setup_serial_console(int rev, struct pcdp_uart *uart)
+#else
+setup_serial_console(int rev, struct pcdp_uart *uart, int line)
+#endif
{
#ifdef CONFIG_SERIAL_8250_CONSOLE
struct uart_port port;
static char options[16];

memset(&port, 0, sizeof(port));
+#ifdef CONFIG_KGDB_EARLY
+ port.line = line;
+#endif
port.uartclk = uart->clock_rate;
if (!port.uartclk) /* some FW doesn't supply this */
port.uartclk = BASE_BAUD * 16;
@@ -99,6 +106,9 @@

snprintf(options, sizeof(options), "%lun%d", uart->baud,
uart->bits ? uart->bits : 8);
+#ifdef CONFIG_KGDB_EARLY
+ if (!line)
+#endif
add_preferred_console("ttyS", port.line, options);

printk(KERN_INFO "PCDP: serial console at %s 0x%lx (ttyS%d, options %s)\n",
@@ -145,10 +155,19 @@
for (i = 0, uart = pcdp->uart; i < pcdp->num_uarts; i++, uart++) {
if (uart->flags & PCDP_UART_PRIMARY_CONSOLE || serial) {
if (uart->type == PCDP_CONSOLE_UART) {
+#ifndef CONFIG_KGDB_EARLY
setup_serial_console(pcdp->rev, uart);
return;
+#else
+ setup_serial_console(pcdp->rev, uart, 0);
+ serial = 0;
+#endif
}
}
+#ifdef CONFIG_KGDB_EARLY
+ else if (uart->type == PCDP_DEBUG_UART)
+ setup_serial_console(pcdp->rev, uart, 1);
+#endif
}

end = (struct pcdp_device *) ((u8 *) pcdp + pcdp->length);





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/