linux-mips-fnet
[Top] [All Lists]

Problems with cvs kernel on Indigo2

To: "\"cthulhu\" <linux@cthulhu.engr.sgi.com>; \"Klaus Naumann\" ; \"MIPS\"" <linux-mips@fnet.fr>
Subject: Problems with cvs kernel on Indigo2
From: Klaus Naumann <spock@mgnet.de>
Date: Fri, 05 May 2000 20:45:39 CEST
Reply-to: spock@mgnet.de

Hi,

while trying to get the current cvs kernel to boot on my Indigo2
I experienced several problems:

1. The network driver is completely broken. The output of ifconfig
shows the eth0 device about 8 times and network isn't working at all.
ifconfig up & down didn't change anything.

2. There are messages in my kernel log like:
Bug in get_wchan
Due to my still very limited knowledge about the kernel I don't know
what's the problem, I only know that this error is generated in the 
get_wchan function in arch/mips/kernel/process.c

3. The kernel itself doesn't give a console unless I apply a patch
which Flo made - it also seems to fix a problem with page allocation.
The point is that the kernel tries to read the Arc variable to find out
which console to init. This *can not* be overridden by a kernel parameter
like console=ttyS0 - the result is that the kernel starts but doesn't give 
any output at all.
I've attached the patch Flo made to this mail for referrence.

Is there anyone out there who has solutions for the named problems ?

        CU, Klaus

Patch from Flo:


Index: arch/mips/mm/init.c
===================================================================
RCS file: /cvs/linux/arch/mips/mm/init.c,v
retrieving revision 1.27
diff -u -r1.27 init.c
--- arch/mips/mm/init.c 2000/02/23 01:33:56     1.27
+++ arch/mips/mm/init.c 2000/04/28 13:47:55
@@ -256,12 +256,16 @@
        max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
        low = max_low_pfn;
 
+#if defined(CONFIG_PCI) || defined(CONFIG_ISA)
        if (low < max_dma)
                zones_size[ZONE_DMA] = low;
        else {
                zones_size[ZONE_DMA] = max_dma;
                zones_size[ZONE_NORMAL] = low - max_dma;
        }
+#else
+       zones_size[ZONE_DMA] = low;
+#endif
 
        free_area_init(zones_size);
 }
Index: arch/mips/sgi/kernel/setup.c
===================================================================
RCS file: /cvs/linux/arch/mips/sgi/kernel/setup.c,v
retrieving revision 1.32
diff -u -r1.32 setup.c
--- arch/mips/sgi/kernel/setup.c        2000/04/06 20:26:58     1.32
+++ arch/mips/sgi/kernel/setup.c        2000/04/28 13:47:55
@@ -160,20 +160,6 @@
        /* Now enable boardcaches, if any. */
        indy_sc_init();
 
-#ifdef CONFIG_SERIAL_CONSOLE
-       /* ARCS console environment variable is set to "g?" for
-        * graphics console, it is set to "d" for the first serial
-        * line and "d2" for the second serial line.
-        */
-       ctype = ArcGetEnvironmentVariable("console");
-       if(*ctype == 'd') {
-               if(*(ctype+1)=='2')
-                       console_setup ("ttyS1");
-               else
-                       console_setup ("ttyS0");
-       }
-#endif
-
 #ifdef CONFIG_REMOTE_DEBUG
        kgdb_ttyd = prom_getcmdline();
        if ((kgdb_ttyd = strstr(kgdb_ttyd, "kgdb=ttyd")) != NULL) {
@@ -195,10 +181,6 @@
        }
 #endif
 
-#ifdef CONFIG_SGI_PROM_CONSOLE
-       console_setup("ttyS0");
-#endif
- 
        sgi_volume_set(simple_strtoul(ArcGetEnvironmentVariable("volume"), NULL,
10));
 
 #ifdef CONFIG_VT
@@ -230,4 +212,3 @@
        init_vino();
 #endif
 }
-__initcall(rs_init);
Index: drivers/char/tty_io.c
===================================================================
RCS file: /cvs/linux/drivers/char/tty_io.c,v
retrieving revision 1.33
diff -u -r1.33 tty_io.c
--- drivers/char/tty_io.c       2000/04/28 01:09:37     1.33
+++ drivers/char/tty_io.c       2000/04/28 13:47:58
@@ -2189,7 +2189,7 @@
 #ifdef CONFIG_SERIAL_CONSOLE
 #ifdef CONFIG_8xx
        console_8xx_init();
-#elif defined(CONFIG_SERIAL)   
+#elif defined(CONFIG_SERIAL) || defined(CONFIG_SGI_SERIAL)
        serial_console_init();
 #endif /* CONFIG_8xx */
 #if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) ||
defined(CONFIG_MVME147_SCC)
Index: drivers/sgi/char/sgiserial.c
===================================================================
RCS file: /cvs/linux/drivers/sgi/char/sgiserial.c,v
retrieving revision 1.23
diff -u -r1.23 sgiserial.c
--- drivers/sgi/char/sgiserial.c        2000/01/27 01:05:35     1.23
+++ drivers/sgi/char/sgiserial.c        2000/04/28 13:48:21
@@ -2251,3 +2251,5 @@
 {
        register_console(&sgi_console_driver);
 }
+
+__initcall(rs_init);



-- 
Full Name   : Klaus Naumann     | (http://www.mgnet.de/) (Germany)
Nickname    : Spock             | Org.: Mad Guys Network
Phone / FAX : ++49/3661/675457  | E-Mail: (spock@mgnet.de)
PGP Key     : www.mgnet.de/keys/key_spock.txt

<Prev in Thread] Current Thread [Next in Thread>
  • Problems with cvs kernel on Indigo2, Klaus Naumann <=