[OpenBIOS] Latest SPARC64 & Milax update

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Jan 3 04:40:13 CET 2010

Tarl Neustaedter wrote:

>> Tarl: is this nested boot process something that auto-boot should 
>> handle automatically based on various bootarchive properties set by 
>> the initial Fcode loader?

> Sorry about the delay, I just checked my email.
> I don't believe there is anything that should be automatically handled 
> by the boot process - when you load /boot-archive, the fcode loaded 
> should itself at the end invoke whatever execution method is required. 
> My recollection is that boot-archive proceeds to load an ELF file and 
> then jumps to that - I can verify that on monday.

Yeah; the part I couldn't see was how on earth the Fcode was loaded from 
/ramdisk-root. However some searching on the internet gave the following 
URL from one of the opensolaris mailing list archives: 
http://markmail.org/message/sfoiqklq7xcpcrld which gives the following 
quote about the booter phase:

6.2 Booter phase

This phase is derived from the SPARC wanboot ramdisk process (see PSARC 
2001/009), and is responsible for reading the boot archive from the root 
file system (or install server in wanboot's case) into a ramdisk device. 
It does this by:

1) opening the boot-device (which it found as the "bootpath" property in 
the OBP "/chosen" node)

2) using its file system specific reader to read the boot archive (by 
default, /platform/`uname -m`/boot_archive)

3) creating a ramdisk device in "/ramdisk"

4) creating "bootarchive" and "fstype" properties in | "/chosen" |

5) booting the archive (a ramdisk is just another type of disk, so 
executing the boot block area serves this purpose)

Given that init-program in OpenBIOS checks for several different 
payloads, I've simply added an Fcode payload detection routine that 
detects the version1 or startX words, skips the Fcode header and then 
runs the Fcode evaluator. This seems to work fine on my tests here, so 
I'll commit in a short while.

> Have we verified that OpenBios can jump to a SPARC ELF file?

Hmmm no - looking at the PPC code for the go word it seems that we need 
someone who owns a copy of the IEEE-1275 bindings for SPARC and who is 
proficient in SPARC assembler to implement this :(



Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs

More information about the OpenBIOS mailing list