summaryrefslogtreecommitdiff
path: root/libl4/TODO
blob: 77b186f6902a0d3c8a917767faf69fd9343a10f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
* Bugs
** Fix _L4_msg_get_string_item.

* Optimizations:
** l4_time_period for built-in constants.
** l4_exchange_register does not need to copy out return values if the
   "deliver" bit is not set, this can usually be tested at compilation
   time.  Check if this is a useful optimization or if gcc already
   optimizes that away automatically.

* Implement:
** l4_time_point.
** Support for all those architectures.

* Extend:
** We need cancellable IPC.  This is a bummer.
** Add l4_time_t period shift operators for fast exponential backoff
   (ie, just increase the exponent).  Use in __pthread_spin_lock, for
   example.
** Sanitize the error handling.  The GNU interface should return
   proper errno values for all failures.  ExchangeRegister can fail,
   so all functions using it should also return an error value
   (l4_start_sp_ip etc) (currently result is undefined).  Handle IPC
   errors somehow intelligently.

* GNU interface
** Implement the cache hint support functions.
** Implement l4_thread_was_* functions.
** l4/globals.h should be moved to l4/gnu/globals.h.

* Compatibility interface
** Implement more of the inofficial extensions to the official libl4
   library (things like sigma0.h).
** Think about syscall stubs, which are initialized lazily in the
   official libl4, while we require manual initialization (good enough
   for use with our linker, but what about compatibility?).


Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
Written by Marcus Brinkmann <marcus@gnu.org>

This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
 
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.