Tarl Neustaedter wrote:
My recollection (I don't have time to pursue it right now, alligators at work) is that OpenBoot switches register sets when called by Solaris, thus using a different set of globals. I'll try to check later.
Oh wait - I think I see what it is now. On closer inspection, it seems that translate was being invoked through CIF after all (I think now the Qemu output only shows blocks being translated and not executed?).
Tracing through the code, it seems like there's an off-by-one bug in the CIF parameter code which means that a subsequent stack push will overwrite the last saved parameter (which is %g7). I think I've fixed it and am testing a patch now.
ATB,
Mark.