Subject: Re: 64-bit Malta Kernel/Userland/Toolchain?
To: GIRISH V. GULAWANI <girishvg@yahoo.com>
From: Simon Burge <simonb@wasabisystems.com>
List: port-mips
Date: 06/27/2002 13:45:04
"GIRISH V. GULAWANI" wrote:

> .1 TOOLCHAIN: Currently I'm using the lastest (March
> 27?) build of cross mipseb toolchain. I do "config
> MALTA" with MIPS32 & MIPS64 both. Is this all ok? How
> to build entire 64bit kernel??

See below for info on "64bit kernels" versus support for the MIPS64
architecture.  The toolchain you've got is suitable for building 32-bit
userland and kernels only.  The NetBSD toolchain doesn't have any 64-bit
MIPS support at this stage.

> .2 USERLAND: Since sgimips did work for me on Malta4Kc
> I guess it will work with this board too. Anyway,
> where to get the all 64bit userland?

See both above and below - there is no such thing as a 64-bit userland
at this stage.

> .3 KERNEL: Many features of 20Kc are expected to
> enhance total performance. Is there anybody already
> working on this particular port? I'm very much
> interested in this port. It'd be great if we start
> disucussing about it. Especially about the toolchain &
> the port in detail.

I can't remember specifics about the 20Kc, but if the features as based
on things like integer and floating point throughput you shouldn't need
to make any specific changes to NetBSD to take advantage of this (again,
modulo that NetBSD/mips is still a 32bit operating system).

> Ofcourse looking at the responses that I did *not* get
> it is quite disappointing, sometimes. Let us keep this
> list active.

I've been travelling for the best part of the last month, and so haven't
been able to keep up with this list as much as I'd have liked to.


Also, in reply to Jaromir's reply:

> AFAIK sbmips is mips64 arch, perhaps you might get some pointers
> from there. You probably would like to have ("write") kernel compat
> glue to be able to run 32bit userland with 64bit kernel, which
> might not be written for mips yet (at least I didn't notice any
> COMPAT_NETBSD32 option in sbmips kernel config).

The "MIPS64" in sbmips is a reference to the architecture of the chip,
same as an R4000 is a "MIPS3" cpu.  _All_ versions of NetBSD/mips are
currently 32-bit, but we've supported running 64-bit CPUs in 32-bit mode
for many years (since support was added for the R4x00 CPUs in the pmax
port).

Nigel Stephens also wrote:

> You are probably aware that the Bonito system controller was designed by
> Algorithmics. The version on the MIPS 20Kc module board is very similar
> to that used on our own P-6032 and P-6064 boards, but adds full cache
> coherency (for both the Bonito i/o cache and the 20Kc caches). You might
> like to look at Jason Thorpe's "algor" port, which includes (unfinished)
> support for the P-6032 - there might be useful bits of Bonito code in
> there which you can reuse.

Cool.  The bonito support is under sys/arch/mips, so we should be able
to leverage it off there for the evbmips port.

> We are currently working on putting together a fully tested Linux
> toolchain, based on our inhouse variant of gcc-2.96, and this will
> include support for the 20Kc CPU. Hopefully this would port very easily
> to NetBSD. It will target only the 32-bit "O32" ABI initially, and won't
> have (tested) 64-bit (N64 or N32 ABI) support at first, although this
> should come along later. Of course there may be quite a bit of work to
> do to the MIPS port of the NetBSD kernel, dynamic linker, libraries, etc
> to get it to support true 64-bit applications.

I'll be most interested in n32 and n64 support when you add it :-)  Is
your toolchain generally available?

As far as the 20Kc CPU is concerned, NetBSD should be quite happy to
treat it as a just another MIPS64 cpu - no special handling should be
required.

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD Support and Service:         http://www.wasabisystems.com/