History log of /seL4-camkes-master/tools/rumprun/lib/librumprun_base/_lwp.c
Revision Date Author Comments
# 8b704b69 28-Jul-2016 Antti Kantee <pooka@iki.fi>

_lwp: add _sched_protect()

Used by recent NetBSD libpthread.


# b1c8d596 07-Aug-2015 Antti Kantee <pooka@iki.fi>

Make the clock routines bmk_platform_cpu_clock_foo

bmk can now directly call into the relevant code instead of a bounce.


# e8a5b303 26-May-2015 Antti Kantee <pooka@iki.fi>

Retire sched_nanosleep(), blockprepare_timeout() is sufficient


# a95a32a2 26-May-2015 Antti Kantee <pooka@iki.fi>

Hide raw bmk_sched() from public and provide bmk_sched_block()

In addition to being a responsible abstraction, fixes
scheduler assert meltdown reported as part of issue #20


# 37a0be46 14-May-2015 Martin Lucina <martin@lucina.net>

Switch back to curlwp if thread creation fails


# cf32cf9e 14-May-2015 Martin Lucina <martin@lucina.net>

Create rump kernel lwp for all process contexts

@anttikantee says it is legitimate to create rump kernel lwps for
threads created from PID 1 / the implicit context and the tests still
pass, so do that.

Also fix the leak of newlwp in case bmk_sched_create_withtls() fails.


# 676d0aa4 14-May-2015 Martin Lucina <martin@lucina.net>

Create rump kernel lwp for each pthread lwp

Create a rump kernel lwp for each pthread lwp which is created from
an existing (non-implicit) rump kernel process.

(See issue #15)


# f17b1588 13-May-2015 Antti Kantee <pooka@iki.fi>

Remove the "thread" argument from sched_block()

Also rename sched_block() to sched_blockprepare(). The only perverted
routines that need to pass the thread argument to cancel threads
from being able to be scheduled derives from libpthread, and that
has completely different semantics from block, so give it its own
suspend()/unsuspend() interfaces (currently unimplemented).


# 4059889c 12-May-2015 Antti Kantee <pooka@iki.fi>

Separate "in-kernel" and pthread stack sizes.

They have different size requirements, so this is much less wasteful.
Set pthread stack default size to 32*PAGE_SIZE (a stetson-harrison
constant). We also no longer need to align pthread stacks when they
come from the libpthread allocator, so we save there too.

Convert baremetal to use 2 pages for in-kernel stacks.


# 4ef0997e 12-May-2015 Antti Kantee <pooka@iki.fi>

Do the previous properly so that the scheduler hook still works.


# fe7a1be7 12-May-2015 Antti Kantee <pooka@iki.fi>

Store scheduler thread pointer for mainthread.

Fixes a bug in e7e2256d670f7bc4131d6c37ce9a52528f6f528c where assigning
the pointer was accidentally dropped. In other words, revisions between
that and this~1 are broken.


# e7e2256d 12-May-2015 Antti Kantee <pooka@iki.fi>

Use TLS for the _lwp implementation.


# 3a5aff88 22-Apr-2015 Antti Kantee <pooka@iki.fi>

Sketch out new interfaces for bootstrap/running programs.

The system is "booted" using rumprun_boot(). The opposite of
rumprun_boot() is rumprun_reboot() (logically?)

Between rumprun_boot() and rumprun_reboot() individual applications may
be launched with rumprun() (async) and waited for with rumprun_wait().

Of course, bits for supporting >1 program are still missing, but at
least the sketch is there.


# 48a8c144 21-Apr-2015 Antti Kantee <pooka@iki.fi>

Open-code signal stubs a bit.

Can later stuff some better emulation in there, if need be.


# 6b11ec6e 21-Apr-2015 Antti Kantee <pooka@iki.fi>

Rename bmk_clock_*() to bmk_platform_clock_*()

They are expected to be implemented by the underlying platform.


# 243b2e3d 20-Apr-2015 Antti Kantee <pooka@iki.fi>

Rename the <bmk-base> header namespace to <rumprun-base>

This change indicates that the headers are for "userspace" level
consumers, and it also makes the header namespace match the name of
the library.


# 314d4bab 20-Apr-2015 Antti Kantee <pooka@iki.fi>

Fix sched_yield() to actually yield.


# 65cd81b8 16-Apr-2015 Antti Kantee <pooka@iki.fi>

adjust from wall clock to internal clock before sleeping


# 423305f4 13-Apr-2015 Antti Kantee <pooka@iki.fi>

Replace bmk_ops function pointers with regular functions.

Prefix those function bmk_platform, e.g. bmk_platform_halt()


# 910f2f07 05-Apr-2015 Antti Kantee <pooka@iki.fi>

push the _lwp.c implementation to bmk-base