Subject: Re: Status of the Indigo2 R10K port?
To: Mark KAHRS <kahrs@caip.rutgers.edu>
From: Christopher SEKIYA <wileyc@rezrov.net>
List: port-sgimips
Date: 08/23/2004 21:05:53
On Sun, Aug 22, 2004 at 02:42:20PM -0400, Steve Rumble wrote:

> Once that's running it may be fairly trivial to get a 32bit kernel booted,
> but those could be famous last words.

They are.

It's possible to design a MIPS-IV machine such that all of the critical goo
(ARCS, I/O) can be accessed from both 64-bit and 32-bit mode.  In fact, it's
downright easy -- there's a wonderful example in "See MIPS Run".

Those who have coded for NetBSD/sgimips have learned that SGI had a rather
interesting attitude towards design.  It should come as no surprise, then,
that the IP30 has placed ARCS in space that can be accessed _only_ in 64-bit
mode.  I'm not entirely sure that all of the critical I/O lives entirely in
32-bit space, either -- crossbow is a very odd beast.

It's possible to put a jump table in 32-bit-accessible space that will jump
up to the real ARCS space.  I haven't made it work yet, though.

Then we have the netbooting issue.  If we're going to use a 64-bit bootloader
to load a 32-bit kernel, the bootloader _must_ be able to talk to the NIC,
and the DMA glue for said NIC.  There aren't any ARCS routines for network
interfaces, AFAICT (though I would _love_ to be proved wrong).

I'm mostly convinced that the 64-bit SGI machines (Octane, Power Indigo)
will need 64-bit kernels.  There's all sorts of nasty 32-bit assumptions in
arch/mips that I'm trying to work thorough.

-- Chris
	GPG key FEB9DE7F (91AF 4534 4529 4BCC 31A5  938E 023E EEFB FEB9 DE7F)