Hi Jan-Jaap,
yes right you are, I was also mulling over how the Octane let you overclock by swapping oscillators and resistors (back in the day) .
Dug up the Octane/O2 architecture
paper (via SGI Depot this time ;-) ) this morning.
The XBOW ASIC is on the system board as is the RAM, so its more Fuel like than the O350.
So there should be a corresponding PROM on the Octane Board, which I can easily pull and inspect.
I might also do some Fuel / O350 POD/DEX/CAC exploration to see if I can see anything that relates to reading / writing to the PROM.
EDIT #1: Here is likely POD/CAC commands that relate to this (taken from log I captured a while back):
>> A 000 001c01: POD SysCt Cac> ?
>> A 000 001c01: Commands may be separated by semicolons, grouped with
>> A 000 001c01: curly braces, and used in nested loop constructs.
>> ...
>> ...
>> A 000 001c01: Miscellaneous
>> A 000 001c01: Show PROM version: version
>> A 000 001c01: Display help: help [CMDNAME]
>> A 000 001c01: Read hub NIC: nic [n:NODE]
>> A 000 001c01: Prgm remote PROM: flash NODE [...]
>> A 000 001c01: Prgm remote PROM with values: fflash NODE [...]
>> A 000 001c01: Prgm modebits with values: setmodebits NODE [...]
>> ...
>> ...
>> A 000 001c01: System Controller
>> A 000 001c01: System ctlr cmd: sc ["STRING"]
>> A 000 001c01: Wr sysctlr nvram: scw ADDR [VAL [COUNT]]
>> A 000 001c01: Rd sysctlr nvram: scr ADDR [COUNT]
>> A 000 001c01: Rd sysctlr dbgsw: dips
>> A 000 001c01: Set/get debug sw: dbg [VIRT_VAL PHYS_VAL]
>> A 000 001c01: Set/get password: pas ["PASW"]
>> A 000 001c01: Set/get module #: module [NUM]
>> A 000 001c01: Set/get partition #: partition [NUM]
>> A 000 001c01: Get module NIC: modnic
#EDIT #2: To try to see what is going on when the flash happens, I did PROM dumps (flash -D) and flash down to 600 and then another dump and flash back up to 800 and other dump.
All the prom dumps have same size, irrespective of CPU speed:
>> -rw-r--r-- 1 root sys 4194304 Oct 31 14:36 ip35prom.img.dump.600
>> -rw-r--r-- 1 root sys 4194304 Oct 31 14:27 ip35prom.img.dump.800.1
>> -rw-r--r-- 1 root sys 4194304 Oct 31 14:51 ip35prom.img.dump.800.2
There is a difference in the two 800 Mhz hex dumps ("od -x -v <PROM-DUMP"> of PROM even though these are for the same CPU Speed:
>> % diff prom-800-01.hex prom-800-02.hex
>> % diff prom-800-01.hex prom-800-02.hex
>> 10c10
>> < 0000220 0000 0002 0000 00f0 0000 000e 0000 0010
>> ---
>> > 0000220 0000 0002 0000 00ee 0000 0010 0000 0010
There are three differences across 800 / 600 PROM Dump:
>> % diff prom-800-01.hex prom-600-01.hex
>> 7,8c7,8
>> < 0000140 0000 0015 549b af85 6970 3237 636f 6e66
>> < 0000160 0000 0000 2faf 0800 0000 0000 0beb c200
>> ---
>> > 0000140 0000 0015 549b ab85 6970 3237 636f 6e66
>> > 0000160 0000 0000 23c3 4600 0000 0000 0beb c200
>> 10c10
>> < 0000220 0000 0002 0000 00f0 0000 000e 0000 0010
>> ---
>> > 0000220 0000 0002 0000 00ad 0000 000f 0000 0010
So taking away the difference @ offset 220 you get:
>> % diff prom-800-01.hex prom-600-01.hex
>> 7,8c7,8
>> < 0000140 0000 0015 549b af85 6970 3237 636f 6e66
>> < 0000160 0000 0000 2faf 0800 0000 0000 0beb c200
>> ---
>> > 0000140 0000 0015 549b ab85 6970 3237 636f 6e66
>> > 0000160 0000 0000 23c3 4600 0000 0000 0beb c200
So for:
600 -> 800 @ 140C AB -> AF
@ 169 3c34600 -> FAF0800
initial look at this I can see a few small diffs and one has 800 and the other 600..
So expect that stuffing these difference into PROM POD/CAC could work... but I am not going to risk this..
Cheers from Oz,
jwhat/John.