Subject: Re: Kaffe anyone?
To: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
From: Andreas Drewke <andreas_dr@gmx.de>
List: port-hpcarm
Date: 01/20/2005 15:31:18
Thanx for you detailed answer. I got kaffe to build now. But still it crashes.
One needs very detailed information about netbsd/hpcarm  kernel. Is there some 
more information about it anywhere. I did take a look but wasnt able to find 
it somewhere- eg. calling conventions(maybe its more gcc specific) and how 
registers are used.

And btw. does anybody have a complete list of SA1110 instructions?

Regards
And thanx in advance.

On Tuesday 18 January 2005 15:22, you wrote:
> Andreas Drewke <andreas_dr@gmx.de> wrote:
> > on i386:
> > /machine/signal.h declares struct sigcontext.
> >
> > whereas
> > on hpcarm
> > /machine/signal.h declares struct sigcontext like this
> >
> > #ifndef _LOCORE
> > #ifdef COMPAT_16
> > struct sigcontext {
> > ...
> > }
> >
> > since the default kernel which I am using sets the option COMPAT_16,
> > _LOCORE must be the reason that compiling Kaffe sais:
> > ...
> > signal.c:264: warning: `struct sigcontext' declared inside parameter list
> > ...
> >
> >
> > I am curios, what means _LOCORE at all and Shoulnt it be the fact
> > that the interfaces to the kernel should be as equal as possible on
> > all architectures?
>
> _LOCORE is defined for the parts of the kernel written in assembler.
> See locore.S files in sys/arch/foo/foo - which is a "traditonal" file
> name.  So it's a fancy way to say "assembler".  The ifndef is there to
> prevent C declarations from being seen by the as(1).
>
> As for the struct sigcontext - NetBSD 2.0 uses ucontext instead (which
> was introduced in SVID (iirc) and is now a part of some relevant
> standard (don't remeber which one off the top of my head)).
>
> The kernel still supports struct sigcontext so that the old binaries
> that rely on it can run under 2.0, but the new code should use
> ucontext.
>
>
> SY, Uwe

-- 

www: http://drewke.net / icq:175089452