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

Generic DECstation kernel? (was: patch-linux-2.1.100_pl5)

To: linux-mips@fnet.fr
Subject: Generic DECstation kernel? (was: patch-linux-2.1.100_pl5)
From: Harald Koerfgen <harald.koerfgen@netcologne.de>
Date: Fri, 04 Sep 1998 20:29:25 +0200 (MEST)
In-reply-to: <Pine.LNX.3.96.980903005954.14725N-100000@apt4g.a3nyc.com>
Organization: none
Reply-to: "Harald Koerfgen" <harald.koerfgen@netcologne.de>
Sender: harry@franz.no.dom
Hi all,

On 03-Sep-98 Thomas Riemer wrote:
> ftp://apt4g.a3nyc.com/pub/distribute/patches/patch-linux-2.1.100_pl5
> 
> are patches for declance support and dz11 support for the decstation
> linux mips kernel.
> 
> They have been tested with and without dz11 support. 
> 

I've just downloaded your patch.

Looking at the patch I found the following lines in arch/mips/dec/promcon.c:

> #ifndef CONFIG_DZ 
>  __initfunc (long serial_console_init(long kmem_start, long kmem_end))
> {
>        register_console(&sercons);
>        return kmem_start;
> }
> #endif /* ifdef CONFIG_DZ */

I'll take that as a sign, that at least serial console works on DS2/3100. Great
stuff! Thanks Olivier and Thomas.

We now have serial consoles running on DZ based as well as Z8530 based
DECstations and I'd like to kick out the PROM console for various reasons.

Opinions?

Another question: The way Olivier and Thomas have implemented the DZ driver
would lead to undefined results when activating TURBOchannel and DZ support. Do
we really want generic kernels?

I can think of a file dec_sercons.c with, for example:

--- example ---

#include <asm/dec/tc.h>
[...]

extern ...; [a whole lotta external declarations]

#ifdef CONFIC_TC
static struct console dz_sercons = {
        [...]
}
#endif

#ifdef CONFIG_DZ
static struct console zs_sercons = {
        [...]
}
#endif

__initfunc(long serial_console_setup((long kmem_start, long kmem_end))
{
#if defined(CONFIG_DZ) && defined(CONFIG_TC)
        if (IOASIC)
                register_console(&zs_sercons);
        else
                register_console(&dz_sercons);
#else

#ifdef CONFIG_DZ
        register_console(&dz_sercons);
#endif

#ifdef CONFIG_TC
        register_console(&zs_sercons);
#endif

#endif /* CONFIG_DZ && CONFIG_TC */
        
        return kmem_start;
}

--- end example ---

but we could run into similar "complications" in other device drivers. 

What do you think?
---
Regards,
Harald

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