On 2014-Apr-4, 09:53 , Mark Cave-Ayland wrote:
I'm working on implementing a version of the CIF chain service for SPARC64
Hmm. I note that in current Openboot, there is no CIF for "chain". It's commented out.
How are the arguments passed to the next client program? A quick peek at the OpenBOOT source shows that (init-program) only sets up %o4 (CIF) and %o6 (stack) registers. Does that mean that the arguments should be copied onto the stack or somehow via the registers? Unfortunately I can't seem to find a suitable 64-bit SPARC IEEE1275 ISA document anywhere :(
Where does your client program expect the arguments?
The client programs I'm familiar with all fetch their arguments from properties in /chosen, don't expect things on the stack.