﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	field_blocks	field_dependson	field_seealso
40	Implement support for Sgi Octane (mips64)	Martin Decky	Martin Decky	"Implement support for Sgi Octane machines (mips64 big-endian architecture).

 Details::
  The Octane is a SMP machine built by Sgi in the 1997 - 2000 time frame. It is based on the MIPS R12000 CPU and a proprietary Crossbow ASIC crossbar switch instead of a system bus. It uses the ARCS boot firmware and originally runs with Sgi IRIX. The goal of this ticket is to implement at least a basic support for Sgi Octane (basic kernel functionality), i.e. support for booting, memory management, SMP, framebuffer output and keyboard input.

 What Gains and Benefits will this bring?::
  Sgi Octane is an excellently engineered workstation with 64bit MIPS CPUs, SMP support and state-of-the-art hardware design (even after 10 years). Implementing HelenOS support for Octane should hint any possible portability issues in HelenOS and it should also improve some minor functionality aspects of the kernel.

 Difficulty::
  Very high

 Required skills::
  Since there is very little publicly available hardware documentation of the Sgi Octane (except the CPU itself and other discrete components), the HelenOS support needs to be largely based on the reverse-engineered code in [http://www.linux-mips.org/~skylark/ Linux] and [http://www.openbsd.org/sgi.html OpenBSD]. Therefore a successful applicant will need to have very good skills in programming in the C language and the ability to learn and reuse know-how contained in reverse-engineered code of other operating system projects.

 Note::
  We have a single Sgi Octane machine physically available for development, debugging and testing.

 Documentation::

 * [http://www.linux-mips.org/~skylark/ Linux Sgi Octane port]
 * [http://www.openbsd.org/sgi.html OpenBSD Sgi Octane port]

 Possible mentors::
 HelenOS Core Team, Martin Decky"	enhancement	new	minor	0.5.1	kernel/mips64			gsoc11, gsoc12, gsoc13				
