linux-mips
[Top] [All Lists]

Re: Au1550 with kernel linux-2.6.28.1

To: Manuel Lauss <mano@roarinelk.homelinux.net>
Subject: Re: Au1550 with kernel linux-2.6.28.1
From: Frank Neuber <frank.neuber@kernelport.de>
Date: Sun, 25 Jan 2009 00:20:24 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <1232787448.28527.302.camel@t60p>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1232739600.28527.289.camel@t60p> <20090124085734.5b6b5c66@scarran.roarinelk.net> <1232787448.28527.302.camel@t60p>
Sender: linux-mips-bounce@linux-mips.org
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



<Prev in Thread] Current Thread [Next in Thread>