For QNX 4.x ?

Jeppe Sommer jso at lyngso-industri.dk
Mon Jun 21 02:30:35 PDT 1999


Junji OAKI writes:
 > 
 > 
 > Jeppe Sommer wrote:
 > 
 > >  > I have two questions.
 > >  >
 > >  > 1)  Which gcc version is suitable to build Kaffe for QNX 4.x ?
 > >
 > > egcs-1.1.1
 > >
 > >  >     Where can I get the gcc ?
 > >
 > > http://w3c.teaser.fr/~jcmichot/gcc
 > >
 > >  >     I have QNX 4.25A (or 4.24), Watcom C 10.6 and TCP/IP 4.25 (or 4.24).
 > >
 > > Perfect.
 > >
 > >  >
 > >  >    Has anyone succeeded in building Kaffe for QNX 4.25A(4.24) ?
 > >  >
 > >
 > > Yes, I have had kaffe working for QNX 4.2x at various stages. Right
 > > now I have a partial port of a recent kaffe snapshot (some problem
 > > with exceptions remains to be solved). I have, however, been very busy
 > > doing "real" work. I will hopefully soon be able to release a set of
 > > patches for QNX 4.x
 > 
 > I appreciate your complete answers. I will try.
 > Recently, however, I have heard that the newest Kaffe for QNX 4.x
 > cannot be build by the gcc from QNX newsgroup "comp.os.qnx".
 > Your patch can solve this problem ?

Yes, together with an 'nm' that I implemented as a shell script that
converts OMF object files into ELF before using the ELF nm (the OMF nm
that is available does not work with gcc). 
 > 
 > 
 > >  > 2) QNX is a real time OS.
 > >  >     So, Kaffe VM for QNX 4.x is "Real time Java". Right ?
 > >
 > > No.
 > >
 > > The current (unreleased) port uses the "jthreads" package which is a
 > > user-level thread package. The java virtual machine runs as a single
 > > QNX process, and the CPU time allocated to this process is allocated
 > > to the java threads by an internal scheduler.
 > 
 > I understand.
 > 
 > 
 > > To me, real time means (in a QNX context) that java threads are
 > > handled by the QNX scheduler, so that priority and scheduling policy
 > > can be controlled for each thread.
 > >
 > > Also, an interface to the native QNX message passing primitives would
 > > come in handy, making it possible, e.g, to create a java server thread
 > > with a priority that adapts to the priorities of its current clients
 > > (whether "c" processes or java threads).
 > >
 > > Last (but not at all least) kaffe currently has a non-incremental
 > > "stop the world" garbage collector. Until this changes, forget about
 > > real time.
 > 
 > I hope that an interface to the native QNX message passing primitives will
 > come in handy, Difficult ?

No, but to be really useful, I think that you need Kaffe to use native
threads, otherwise you will potentially block the entire virtual
machine each time you want to send/receive a message. So I guess that
the most natural first step would be to integrate Kaffe with the POSIX
native thread interface that is available in QNX 4.x. 

 > 
 > Regards,
 > Junji OAKI
 > 



More information about the kaffe mailing list