Цитата(federal @ Jan 12 2013, 12:37)

Столкнулся с проблемой для cortex-A8.
Не загружается отладчик ядра во время стартапа ядра.
...
Есть какие нибудь идеи?
Это проблема не cortex-a8 а драйвера UART SoC
http://kernel.org/pub/linux/kernel/people/...n.html#id370455Цитата
When using kgdboc with a UART, the UART driver must implement two callbacks in the struct uart_ops. Example from drivers/8250.c:
#ifdef CONFIG_CONSOLE_POLL
.poll_get_char = serial8250_get_poll_char,
.poll_put_char = serial8250_put_poll_char,
#endif
смотрите драйвер вашего процессора - есть ли там эти ф-ции, если нет - допишите, это несложно. Вот например дописывал когда-то для i.mx233:
CODE
--- linux-imx_2.6.35_11.04.01/drivers/serial/mxs-duart.c 2011-05-02 10:41:22.000000000 +0400
+++ linux-imx-sk_2.6.35_11.04.01/drivers/serial/mxs-duart.c 2011-05-17 10:01:32.653212175 +0400
@@ -529,6 +529,33 @@
return ret;
}
+#ifdef CONFIG_CONSOLE_POLL
+
+static int mxs_get_poll_char(struct uart_port *port)
+{
+ struct duart_port *dp = (struct duart_port *)port;
+
+ /* Wait until a character arrives. */
+ while (__raw_readl(dp->port.membase + HW_UARTDBGFR) & BM_UARTDBGFR_RXFE)
+ ;
+ /* Read the character and return it. */
+ return __raw_readl(dp->port.membase + HW_UARTDBGDR) & 0xff;
+}
+
+static void mxs_put_poll_char(struct uart_port *port, unsigned char c)
+{
+ struct duart_port *dp = (struct duart_port *)port;
+
+ /* Wait until the transmit FIFO is empty. */
+ while (!(__raw_readl(dp->port.membase + HW_UARTDBGFR) & BM_UARTDBGFR_TXFE))
+ barrier();
+
+ /* Transmit the character. */
+ __raw_writel(c, dp->port.membase + HW_UARTDBGDR);
+}
+
+#endif
+
static struct uart_ops duart_pops = {
.tx_empty = duart_tx_empty,
.set_mctrl = duart_set_mctrl,
@@ -546,6 +573,10 @@
.request_port = duart_request_port,
.config_port = duart_config_port,
.verify_port = duart_verify_port,
+#ifdef CONFIG_CONSOLE_POLL
+ .poll_get_char = mxs_get_poll_char,
+ .poll_put_char = mxs_put_poll_char,
+#endif
};
static struct duart_port duart_port = {