[OpenBIOS] Missing portid properties

Tarl Neustaedter tarl-b2 at tarl.net
Mon May 3 01:23:41 CEST 2010


On 2010-5-2 7:12 PM, Mark Cave-Ayland wrote:
> [...]
> This helps things get further, but in particular it shows that we're 
> missing a whole set of architecture-specific Forth words for 
> manipulating registers. The OpenSolaris kernel tries to execute the 
> following Forth:
>
> sync %tl-c %tstate h# 1860640 x! %g1 h# 1860648 x! %g2 h# 1860650 x! 
> %g3 h# 1860658 x! %g4 h# 1860660 x! %g5 h# 1860668 x! %g6 h# 1860670 
> x! %g7 h# 1860678 x! %o0 h# 1860680 x! %o1 h# 1860688 x! %o2 h# 
> 1860690 x! %o3 h# 1860698 x! %o4 h# 18606a0 x! %o5 h# 18606a8 x! %o6 
> h# 18606b0 x! %o7 h# 18606b8 x! %tl-c %tpc h# 18606c0 x! %tl-c %tnpc 
> h# 18606c8 x! %y h# 18606d0 l! %tl-c %tt h# 1843cf8 x! sync ; warning !
>
> (from 
> http://src.opensolaris.org/source/xref/systemz/sirius/usr/src/uts/sun4/os/startup.c) 
>
>
> It seems that we need some Forth functions for creating/managing CPU 
> state? I suspect I'll have to dig into the OpenBOOT source to find out 
> how these are supposed to work.

Those are all SPARC registers. What it's doing is copying the registers 
to a buffer, presumably to be restored later.

It looks like the trap registers (%tstate, %tnpc, %tt) are prefixed by 
%tl-c - which is presumably the trap-level pointer.




More information about the OpenBIOS mailing list