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

Re: Magnum != Olivetti

To: linux-mips@fnet.fr
Subject: Re: Magnum != Olivetti
From: Stoned Elipot <Stoned.Elipot@univ-evry.fr>
Date: Thu, 09 May 1996 10:41:32 +0200
In-reply-to: Your message of "Thu, 09 May 1996 10:15:58 +0200." <199605090817.KAA23501@informatik.uni-koblenz.de>
>Hmmm, so is there a way to tell them apart? Or could you point me at the
>right place to look/change? At the moment I have #if 0 round the magnum
>bit which isn't very nice.
 
The idea is Magnum 4000 and Olivetti belong to mips_machgroup = MACH_GROUP_JAZZ
in my fixed scheme, but mips_machtype is different for Magnum and Oily (as
for kernel 1.3.96 they are the same). So we could just test for mips_machgroup
= MACH_GROUP_JAZZ for features supported/working the same way for both machine
(and note that Acer Pica 61 is also in group JAZZ) and then for things like
the serial driver just make a futher test for mips_machtype= OILY or MAGNUM.

This can be done quickly by changing the value for MIPS_MACH_OLIVETTI in 
asm-mips/bootinfo.h and changing the tag_machtype entry in the default tag
list array in Milo's identify.c. For now the magnum and the Oily goes throught
the same flow of execution in Milo, so the solution is: make two default array
of tags for the two boxes (this will increase the .data section of Milo :( ).
Or perhaps we could design a way of chaining these tag arrays in identify.c. 
So we could have this layout:

array for Magnum -> +-----
                    | magnum specific tags
                    |  PTR
                    +-- |----
                        `-----------------+
array for Oily  -> +----------            |
                   | oily specific tags   |
                   | PTR                  |
                   +--|--------           |
                      `-----\ /-----------+
array for Oily and Magnum -> +----
                             | tags for Oily and Magums
                             +----

I'll try to implement this tonight. Hum, perhaps just having two independent
arrays with redundant infos is simpler :)

Have a look at the comments in Milo's identify.c you'll get the picture.

Stoned.

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