Implement support for Sgi Octane (mips64)
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 interesting hardware design that is inspiring even after many 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 Linux and 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
-
- Possible mentors
-
HelenOS Core Team, Martin Decky
Change History
(14)
Component: |
→ unspecified
|
Keywords: |
suggestion added
|
Description: |
modified (diff)
|
Keywords: |
gsoc11 added; suggestion removed
|
Milestone: |
→ 0.5.0
|
Summary: |
Add support for Sgi Octane (mips64) → Implement support for Sgi Octane (mips64)
|
Version: |
mainline
|
Component: |
unspecified → kernel/mips64
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|