[OpenBIOS] r624 - trunk/openbios-devel/forth/system

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Nov 22 14:44:03 CET 2009


Laurent Vivier wrote:

> Same result as previous one: yaboot hangs, but quik exits with: "call-method seek: exception -21"
> 
> Regards,
> Laurent

Thanks Laurent. Now I get it: the conversion routine in modules/client.c 
mistakenly put the CIF arguments into Forth the wrong way around using 
this piece of code:

         for( i=pb->nargs-1; i>=0; i-- )
                 PUSH( pb->args[i] );

So, in other words: in order to fix this, we need to reverse the above 
loop so that the arguments are simply pushed onto the Forth stack in 
forward order, and then alter the Forth client interface words to take 
the new ordering into account. Then the CIF words can be called 
correctly from both Fcode and the C interface, and both our cases should 
work.


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

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



More information about the OpenBIOS mailing list