Hi Manuel,
after trying the standard early printk without luck I implemented my
own:
--- kernel/printk.c.orig 2009-01-24 23:48:08.000000000 +0100
+++ kernel/printk.c 2009-01-24 23:49:42.000000000 +0100
@@ -481,8 +481,30 @@
_call_console_drivers(start_print, end, msg_level);
}
+#include <linux/serial_8250.h>
+#include <asm/mach-au1x00/au1000.h>
+
+void serial_putc (const char c)
+{
+ volatile u32 *uart_lsr = (volatile u32*)(UART0_ADDR+UART_LSR);
+ volatile u32 *uart_tx = (volatile u32*)(UART0_ADDR+UART_TX);
+
+ if (c == '\n') serial_putc ('\r');
+
+ /* Wait for fifo to shift out some bytes */
+ while((*uart_lsr&UART_LSR_THRE)==0);
+
+ *uart_tx = (u32)c;
+}
+
static void emit_log_char(char c)
{
+#if 1
+ if (c == '\n'){
+ serial_putc('\r');
+ }
+ serial_putc(c);
+#endif
LOG_BUF(log_end) = c;
log_end++;
if (log_end - log_start > log_buf_len)
The same result, I see nothing :-(
This means I run into trouble in the very early assembler part of the
kernel. I know the ARM kernel has some debug features implemented (using
the serial port).
Has the mips kernel a comparable debug possebility?
I striped down the defconfig as you sad and start the kernel using
uboot:
tc# bootm 0x80500000
## Booting image at 80500000 ...
Image Name: Linux-2.6.28.1
Created: 2009-01-24 21:39:57 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 894213 Bytes = 873.3 kB
Load Address: 80100000
Entry Point: 80104690
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
Could the entry point be the problem? He is very close to the load
address. Because I have no JTAG for mips it is not easy to check what is
going on here ....
Now I have no idea what can I do next ...
Kind Regards,
Frank
|