Subject: RE: 64-bit Malta Kernel/Userland/Toolchain?
To: None <port-mips@netbsd.org>
From: Toru Nishimura <locore32@gaea.ocn.ne.jp>
List: port-mips
Date: 06/29/2002 02:07:02
GIRISH V. GULAWANI <girishvg@yahoo.com> asked about
64bitness of NetBSD mips ports.

Every port of NetBSD mips is 32bit system, period.  Little effort
has been accomplished so far to have full-featured 64bit system
depite the successful presence of NetBSD/alpha.

- We need to have 64bit toolchain first, which can produce N64 ABI
and N32 ABI in full scale.   GCC side efforts unfinished and incomplete
comparing to MIPS own compiler kit.

- You need to understand variations in MIPS ABIs.  It defines how
processor's thirty-two registers are used in executables.  It's regrettable
to understand ABI incompatibility of old-standard O32 which NetBSD
relies on.  You already got Stweetman's book I guess.  Check and see
Section 10.8 of page 274 to know what's wrong.

- It's expected to realize 64bit kernel which can run N32 and N64
binaries as well as existing 32bit O32 binaries.  64bit kernel would utilize
64bit pay load of every register while 1T user address space for N64
applications (there is no particular reason to prevent the larger extent of
R10000 if things were done correctly) .  For application compactness,
N32 executables are practical.

- We need to have XTLB handler with the combination of 64bit pmap.c,
which must be implemented from vacuum.  Never try to understand and
correct the our 32bit pmap implementation.  It's not worth of fixing
since ASID handling is quite broken...  L4/MIPS from southern hemisphere
looks like promising technical source, but please keep in mind it's designed
for single address space OS.

- It might be technically possible to have a hacked 32bit system of
"64bit register pay load but 32bit pointer arithmetic before completing
N64/N32 world."  unfortunately, it's supposed difficult;
1) toolchain at hand is not well suited to do so,
2) 64bit hacks must be littered around every corner of libraries and kernel
machinery (think signal delivery)

Of course it's considered ridiculous to know "your 64bit MIPS processor
emulating R3000."  Just ok for anybody to realize such the mule.

Toru Nishimura/ALKYL Technology