Hello,

On 30.03.2016 19:16, Daniel Waddington wrote:
> I'm trying to do bare bones process creation without using the Child or
> Process helper classes (I'm toying around with serialization ideas).  I
> tried to construct something similar to
> http://genode.org/documentation/architecture/process
> but I can't seem to get it to work (error = exception base not specified on
> nova32).

Some base-* platforms implement the startup of threads slightly
differently than described, e.g. base-foc [0] and base-nova [1]. If you
really want to have portable code, you should stay with the thread
implementation of the base library as we provide per base-* platform.

Nevertheless - I presume, that you already try to bring up a second
thread (in this case the message can be printed) and that you are
missing a call to cpu_session->state() (see Thread_base::start in [1]).

The state() call tells core some nova specific information (start/base
of exception portal selector for the new thread) in order to
successfully start a new thread. The base exception portal selector
(sel_exc_base) must not be zero (because the main thread already
occupies [0-31]).

Hope it helps,

Alex.

[0] repos/base-nova/src/base/thread/thread_nova.cc
[1] repos/base-foc/src/base/thread/thread_start.cc

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to