Subject: SGI O2 Prom modification

From: Glenn Barry <[email-masked]>
Date: Wed, 08 Sep 2004 14:04:50 +1000

Hi There,

I have two questions related to MIPS which someone may be able to help 
with. Sorry for the long post.

Firstly I don't know if you've heard about the upgrading of the RM5200 
300MHz CPU modules in SGI O2's with RM7000C 600MHz chips.

You can read about it at www.nekochan.net.

My question is about the possibility of someone helping out with 
modifying the O2's PROM to recognise the RM7900 CPU from PMC-Sierra.

Currently the RM7000C running at 600Mhz is a working modification. The 
RM7900 runs at up to 900Mhz and would breathe new life into the little O2's.

Details from a post on nekochan.net as to what needs to be done:

http://forums.nekochan.net/viewtopic.php?t=3314

This guy was the one who has pioneered all of the CPU upgrades currently 
going on with SGI machines.

"For the O2, when you start the computer the CPU board reads the data 
from the boot-mode PROM chip (the Xilinx chip) into specific registers 
on the CPU chip and does a Power On Self Test (POST). If the POST 
passes, the ip32PROM then reads that data from the specific CPU chip 
registers and checks that the CPU module is returning data values the 
ip32PROM recognizes and passes those data values on to IRIX for the 
system. The problem is that the data is in different registers and has 
different values for the RM7900 series of chips than the RM7000 series 
of chips. The RM7000 chips and the RM5270 chips use the same data 
registers so the ip32PROM sees the RM7000 chips just fine, not so with 
the RM7900 chips. When ip32PROM does not see a data value it recognizes 
(for whatever reason), it halts the system at that point.
So at least three things need to be done to get this project back on track:
1.) a way needs to be found to tell the ip32PROM the correct registers 
to look in for the data on the RM7900 CPU chip
2.) new values need to be added to the ip32PROM's list of possibe data 
values for a couple of items
3.) the setup for the L2 cache in the ip32PROM needs to be changed as 
the RM7900 chips start the cache memory at a different memory location 
than the RM7000 chips
If there is someone out there who understands the ip32PROM and how to 
modify the bin file, I will help them any way I can but the software 
part of this is beyond my understanding."

If anyone can help out with this, or know someone who can help, it would 
be much apreciated.

Secondly.

Not having played with Linux on my O2, I don't know the details, but are 
you able to run dual monitors with a second video card in the PCI slot?

If so does anyone think it would be possible to port a video card driver 
to Irix to be able run a second screen. Unfortunately the dualhead 
monitor adaptor isn't really an option as they are very difficult to 
find and expensive.

Thanks

Glenn

---

From: Kumba <[email-masked]>
Date: Wed, 08 Sep 2004 01:31:29 -0400

> You can read about it at www.nekochan.net.

AFAIK, this ability isn't too supported anymore.  The guy doing this has 
apparently decided to quit.  While I'm sure this doesn't make such 
modifications impossible, it likely makes them more difficult and more expensive.

RM7000 has issues in Linux anyways.  L3 cache is disabled (atleast on the 
official SGI RM7000.  Not sure if the 600MHz R7000 has an L3 cache as well), 
and the scsi system isn't working in this system yet.  There's possibly 
others, but so few people have access to these kinds of machines that it makes 
testing diffcult.

> modifying the O2's PROM to recognise the RM7900 CPU from PMC-Sierra.

This would quite likely require direct access to the source code of the IP32 
PROM.  I think only IRIX developers have this access, and there are likely 
license issues that would get in the way of modifying such code to allow for 
detection of the RM7900

Modifying the binary is most assuredly way more difficult than gaining access 
to ip32PROM source and modifying it directly (and solving license issues). 
The level of change to the binary needed to make the ip32PROM detect a new CPU 
would require extremely detailed knowledge of the binary format the ip32PROM 
is in, SGI O2 systems, and how the PROM even functions.  I'd wager a guess 
that a super-skilled SGI engineer might possibly pull this off, given enough 
caffeine.

> you able to run dual monitors with a second video card in the PCI slot?

Very unlikely in the current state, most video cards require initialization 
from an x86 bios to function.  There are ways around that, but then there's 
the problem of the O2 PCI slot not operating at 100%.

> monitor adaptor isn't really an option as they are very difficult to 

About the only guy who can pull something like that off currently is Stan, the 
guy who did the Octane port, since he reverse-engineered the Impact card on 
Octanes.  Short of that, not without documentation, and alot of time.  And 
you'll need more weight than that in the core of a neutron star to get SGI to 
dig up those docs (since they're probably lost in a black hole anyways).

--Kumba

-- 
"Such is oft the course of deeds that move the wheels of the world: small 
hands do them because they must, while the eyes of the great are elsewhere." 
--Elrond

---

From: Glenn Barry <[email-masked]>
Date: Wed, 08 Sep 2004 15:46:24 +1000

Hi Kumba,

read below

Kumba wrote:

> Glenn Barry wrote:
>
>> Hi There,
>>
>> I have two questions related to MIPS which someone may be able to 
>> help with. Sorry for the long post.
>>
>> Firstly I don't know if you've heard about the upgrading of the 
>> RM5200 300MHz CPU modules in SGI O2's with RM7000C 600MHz chips.
>>
> AFAIK, this ability isn't too supported anymore.  The guy doing this 
> has apparently decided to quit.  While I'm sure this doesn't make such 

This modification is currently being done with RM5200 boards and 
replacing the CPU. You can read more about it at 
http://forums.nekochan.net/viewtopic.php?t=1071

The RM7000C @ 600MHx chip currently works fine in IRIX, sorry I should 
have specified that this isn't specifically related to Linux, I just 
thought that you people would have the best knnowledge of the SGI's 
outside SGI themselves, given that you've been able to port Linux to 
some of their machines.

>
> RM7000 has issues in Linux anyways.  L3 cache is disabled (atleast on 
> the official SGI RM7000.  Not sure if the 600MHz R7000 has an L3 cache 
> as well), and the scsi system isn't working in this system yet.  

The RM7000 @ 600MHz works perfectly under IRIX, I was just hoping to get 
the RM7900 @ 900MHz working under IRIX

> There's possibly others, but so few people have access to these kinds 
> of machines that it makes testing diffcult.
>
>
> This would quite likely require direct access to the source code of 
> the IP32 PROM.  I think only IRIX developers have this access, and 
> there are likely license issues that would get in the way of modifying 
> such code to allow for detection of the RM7900

Hmmm...given that the O2 line is discontinued I wonder if SGI would 
really object to having the code modified.

>
> Modifying the binary is most assuredly way more difficult than gaining 
> access to ip32PROM source and modifying it directly (and solving 
> license issues). The level of change to the binary needed to make the 
> ip32PROM detect a new CPU would require extremely detailed knowledge 
> of the binary format the ip32PROM is in, SGI O2 systems, and how the 
> PROM even functions.  I'd wager a guess that a super-skilled SGI 
> engineer might possibly pull this off, given enough caffeine.

Yes that is where know how is in shortage, Chicage Joe got the hardware 
side of things sorted for the upgrade to the RM70000C @ 600MHz and there 
was no issue with the PROM as the CPU specs were identical to the RM5200 
and RM700A @300MHz..

>
>
>> Not having played with Linux on my O2, I don't know the details, but 
>> are you able to run dual monitors with a second video card in the PCI 
>> slot?
>
>
> Very unlikely in the current state, most video cards require 
> initialization from an x86 bios to function.  There are ways around 
> that, but then there's the problem of the O2 PCI slot not operating at 
> 100%.

There is a secondary video card available for the O2's (apparently) but 
with very low specs 8MB ram and something like a $2000 price tag.

So I was wondering if using an available XFree driver and possibly 
either running a second X server or proting the Xfree driver to XSGI.

>
>
>> If so does anyone think it would be possible to port a video card 
>> driver to Irix to be able run a second screen. Unfortunately the 
>> dualhead monitor adaptor isn't really an option as they are very 
>> difficult to find and expensive.
>
>
> About the only guy who can pull something like that off currently is 
> Stan, the guy who did the Octane port, since he reverse-engineered the 
> Impact card on Octanes.  Short of that, not without documentation, and 
> alot of time.  And you'll need more weight than that in the core of a 
> neutron star to get SGI to dig up those docs (since they're probably 
> lost in a black hole anyways).

This sounds familiar, it;'s a shame SGI doesn't give more 
help/documentation to people working with thier older machines, though I 
can understand it not being financially feasible.

Glenn

---

From: Jan-Benedict Glaw <[email-masked]>
Date: Wed, 8 Sep 2004 14:13:33 +0200

On Wed, 2004-09-08 01:31:29 -0400, Kumba <[email-masked]>
wrote in message <[email-masked]>:
> access to ip32PROM source and modifying it directly (and solving license 
> issues). The level of change to the binary needed to make the ip32PROM 

I'd not bet my a** on that. Modifying the binary firmware has got a 
long, but rare, history. I remeber hacked PROM images for VAXen to
support larger SCSI disks. As long as you don't require a detailled CPU
detection, that should be possible. Hardcoding some values isn't all
thaaat hard. Making it correctly (preserving the formerly running
detection code for other CPUs) is a bit harder, of course :-)

MfG, JBG

-- 
Jan-Benedict Glaw       [email-masked]    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

---

From: "Robin H. Johnson" <[email-masked]>
Date: Wed, 08 Sep 2004 14:17:28 -0700

> outside SGI themselves, given that you've been able to port Linux to 
Kumba and I do know all about the RM7000C work, as we are frequent
visitors to nekochan.

What Kumba was referring to what the mid-August post by ChicagoJoe (on
page 14) stating that the company that had been doing the BGA chip
replacement is not taking on any more work.

> really object to having the code modified.
To get the PROM source, you'd really have to be in bed with SGI, as many
other folk from here have asked for a lot less and had no success.

-- 
Robin Hugh Johnson
E-Mail     : [email-masked]
Home Page  : http://www.orbis-terrarum.net/?l=people.robbat2
ICQ#       : 30269588 or 41961639
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

---

From: Glenn Barry <[email-masked]>
Date: Thu, 09 Sep 2004 07:36:10 +1000

Hi Robin,

O.K. I misunderstood when I thought that Kumba misunderstood. D'OH.

I think that our biggest hope is to find someone that maybe worked on 
the O2 development, one of the engineers maybe, that would like to see 
the O2 evolve to its ultimate potential. It might not involve getting 
the source code if they did the mod for us, but knowing who in 
particular to ask in the first place is the real challenge..

Glenn