#
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
|