[Top] [All Lists]

Re: Mips Magnum and Linux

Subject: Re: Mips Magnum and Linux
Date: Wed, 28 Jan 1998 02:27:37 +0100
In-reply-to: <>; from Chris. Rupnik on Tue, Jan 27, 1998 at 03:51:58PM -0500
References: <>
On Tue, Jan 27, 1998 at 03:51:58PM -0500, Chris. Rupnik wrote:

>  I noticed that the latest news page was updated yesterday, so i was wondering
>  if one of you had a little more time to perhaps guide me along in starting
>  a big endian port of linux for the mips magnum?

Actually the big endian port should be pretty much straight forward because
Linux is already running on big endian machines.  What would need to be
done is:

 - You'll have to implement a new boot strategy for the machine.  The way
   it is being done for the other machines won't work because the big
   endian Magnum uses a different firmware.

   Q: is there any documentation available about the firmware used for the
   big endian Magnum 4000?  Is it the same firmware as the old pre-ARC
   firmware for SGIs?  What type of disk partitions do the old firmware
   rsp. the RISC/os use?  (Sun style disklabels or ???)

   Cc to linux@engr where the real Magnum gurus are.

 - possibly fixing endianess related bugs in the code.  The kernel runs
   on big endian machines however the Magnum specific code and drivers
   have only be tested on little endian machines

 - No work will have to be done on userland.

 - Caveat: the DMA engine in the Magnum does not know about the byteorder.
   The Magnum is actually designed as a little endian machine.  If you're
   running the Magnum in big endian mode the DMA engine will read from
   memory in 64 bit chunks but not swap the byteorder as it would have to.

   This means data will correctly be read/written from/to the disk but
   media will not be exchangeable with other systems.  A possible workaround
   would be to swap the buffers in software, but that's a performance problem
   for fast devices like hard disks.

   So initially you can just ignore the problem as long as you don't want to
   exchange data with other systems via exchangable media.


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