Commit Graph

19 Commits

Author SHA1 Message Date
Bahadir Balban
0c4bd69357 Reimplemented atomic destructive read. Revised irq control capabilities. 2009-12-13 18:49:35 +02:00
Bahadir Balban
41b7176a58 2 posix containers tested with changes. Inline assemblers fixed.
Inline assembler for irq disabling had no output variables defined.
2009-12-12 01:54:39 +02:00
Bahadir Balban
32c0bb3a76 Converted all wait/wakeup runqueue lock/unlock paths to irq versions.
Irqs can now touch runqueues and do async wakeups. This necessitated
that we implement all wake up wait and runqueue locking work with irqs.

All this, assumes that in an SMP setup we may have cross-cpu wake ups,
runqueue manipulation. If we later decide that we only wake up threads
in the current container, (and lock containers to cpus) we won't really
need spinlocks, or irq disabling anymore. The current set up might be
trivially less responsive, but is more flexible.
2009-12-12 01:20:14 +02:00
Bahadir Balban
2c93de65bf Removed 2 arguments from l4_capability_control
l4_capability_control works well for almost all system calls
using a buffer pointer to the capability that it operates on.

Only for sharing/granting of capability lists, it is yet to be
decided how to provide a grant target id.
2009-12-02 16:47:05 +02:00
Bahadir Balban
c9fc6d9341 Reorganized a few header file comments 2009-12-02 15:31:02 +02:00
Bahadir Balban
b5e6c66426 UTCB update
Added 8 notify slots of 1 byte each. These will be notification
slots for irqs and other threads.

Also now userspace refers to kernel's utcb definition, so they're
in sync.
2009-11-24 14:45:43 +02:00
Bahadir Balban
e0c40ece5d Added a new irq_control system call
This is currently an empty call. It will be used for registering,
receiving and releasing irqs.
2009-11-23 16:46:51 +02:00
Bahadir Balban
51a12a507f Error recovery fixes to mm0 and l4_map_helper 2009-11-18 10:55:53 +02:00
Bahadir Balban
e8f002f879 Fixed most of userspace (mm0) for capability manipulation 2009-11-07 19:43:05 +02:00
Bahadir Balban
fd04e9d460 Added helper to extract raw thread id from fully qualified thread id
Currently, the tid returned from kernel contains container id as
well, which makes it sufficient to do inter-container syscalls without
any preparation.

The helpers added are for presentation purposes only. Container id
is deleted so that the raw thread id is available for printing or
similar.
2009-11-05 01:47:04 +02:00
Bahadir Balban
d9520adb55 Added means to search for threads in other containers
Thread ids now contain their container ids in the top 2 nibbles.
Threads on other containers can be addressed by changing those
two nibbles. The addressing of inter-container threads are
subject to capabilities.
2009-11-04 20:56:57 +02:00
Bahadir Balban
aeef546544 Changed l4id_t type to unsigned integer. Expanded task_ids to have cid
Task ids are now unsigned as the container ids will need to be encoded
in the id fields as well.

For requests who require even more comprehensive id input, (such as
thread creation) also added is the container id so that threads
_could_ potentially be created in other containers as well.
2009-11-04 16:39:04 +02:00
Bahadir Balban
73a27f2269 Modifications for exit/wait on test container 2009-10-27 20:22:42 +02:00
Bahadir Balban
3660ba9528 Some more minor fixes. 2009-10-19 20:21:23 +03:00
Bahadir Balban
c3b0399485 Debug commit to be removed 2009-10-18 18:53:31 +03:00
Bahadir Balban
72c6ca1ed0 Added an extended ipc return library function. 2009-10-08 15:35:54 +03:00
Bahadir Balban
cb561ab262 Removed all references th shared page from libposix
Added UTCB functions for full ipc that copy buffer or string payloads
in secondary message registers.

Some posix syscalls now use these utcb functions to copy pathnames.
2009-10-07 22:59:34 +03:00
Bahadir Balban
54272ccb63 Mods to userspace library building 2009-09-29 21:55:20 +03:00
Bahadir Balban
ece106e591 Removed posix container files, moved libl4 to conts, moving linux module to conts as well 2009-09-04 13:59:07 +03:00