mattst88's blog

Reverse Engineering the PROM for the SGI O2

Since the early 2000s, the potential for upgrading the CPU in the Silicon Graphics O2 with a 900 MHz RM7900 has been blocked by the inability to modify the PROM firmware. To that end, I built ip32prom-decompiler, a program that decompiles the PROM into sources that can be reassembled into a bit-identical image. The decompiler goes to great lengths to produce assembly that is understandable and modifiable by replacing known constants, recognizing and replacing memory addresses with labels, inserting comments and function descriptions, marking function bounds, and many other niceties. In this article I'll describe the process of reverse engineering the structure and contents of the PROM so that I could build the decompiler.

Read More – Tags: mips reverse-engineering sgi

IRIX for x86 and the 700MHz O2

As I was testing Radeon Kernel Mode-setting on Alpha, I casually started a conversation with Jesse Barnes, an Intel Graphics developer. I recalled that he was an ex-SGI employee, and being interested in SGI computers myself decided to ask him a question or two. What I learned about SGI absolutely floored me.

Read More – Tags: irix sgi

Radeon X1550 in an SGI O2?

In a thread on the SGI Enthusiast site, Nekochan.net, about Linux compatibility with SGI's MIPS based line of workstations, a user, tillin9, suggested the possibility of installing modern, off the shelf graphics cards in the SGI O2 under Linux. The O2 is equipped with a single PCI slot for expansion, so physically installing a new graphics card is no problem. Unfortunately, graphics cards require special initialization code, stored in the card's ROM, to be run at boot time. Since the Radeon's initialization routine has to be able to execute on the processor architecture in the computer in which it's installed, different code is required for x86, PowerPC, PA-RISC, SPARC, and MIPS. Since there weren't any PCI Radeon's made for MIPS powered workstations, surely ten years later, a modern Radeon would never work in an old SGI workstation...

Read More – Tags: kms linux mips radeon sgi xorg