* build environment: [feature] * build support for read-only source trees * add special version of libl4sys for l4linux hybrid programs they find their utcb address in fs instead of gs * use NO_DEFAULT_RELOC to avoid specifying -Ttext=xxx * add l4env_base for amd64 and arm [bug fix] * add include-fixed include path to GCCINCDIR * fix doc generation wrt to directory placement in the object dir * fix dependency tracking of binary in cross-compile environments by using two linker names, ld and prefix-ld, either one is used depending on how linking is done * rebuild if *.mk files change * no link address for linux mode * fix amd64 l4env minimal mode [change] * simplify detection of linker, usage of ld output with no argument * put default_reloc handling to binary.inc so that it's not already defined in Makeconf * tiny mode: adapt arm+amd64 to x86 * split DICDIR into DICE_SRCDIR and DICE_OBJDIR because one can build dice into a (separate) build directory * do not use /dev/null as a dependency thing (it may happen that /dev/null is created by udev before system startup has properly set the time so that /dev/null is in the future leading to complaints of make) * dice: [feature] * dice version 3.3.0 released * use UTCB IPC Some remarks: * UTCB IPC is only used if both ways of a call fit into the UTCB. (No indirect strings and flexpages allowed.) * The CORBA_Environments changed to contain a pointer to the thread's UTCB. This pointer is initialized by the dice_default_environment using l4_utcb_get(). This disallows te usage of dice_default_environment with global variables. * UTCB messages are received in the UTCB, unmarshalled from the UTCB, the replies are marshalled into the UTCB, and send from the UTCB. If you use hand-written dispatcher or server-loop functions and do something between those steps that alters the UTCB (like call another server), be sure to save and restore your UTCB. * new switch -fallow-ipc= where string can be: all, short, direct, indirect, fpage, utcb Each of these can also be in negated form: !all, !short, !direct, !indirect, !fpage, !utcb You may combine these in a comma separated list: !short,utcb -- will not allow short IPC, but only UTCB IPC. If only one of either sort appear, the list is expanded with 'all' of the opposite sort, e.g.: -fallow-ipc=short will only allow short IPC (=!all,short) -fallow-ipc=!utcb will allow any IPC except UTCB IPC (=all,!utcb) Some of these options only generate warnings, others will also alter the way code is generated. For instance: -fallow-ipc=direct,indirect,fpage will generaed stubs that do not use short IPC or UTCB IPC and will print warning whenever a possible short IPC is encountered. -fallow-ipc=!utcb will generated code that does not use UTCB IPC and will print no warning at all Scenarios: (1) cross-CPU can only use UTCB IPC: -fallow-ipc=short,utcb * because indirect string and flexpages are currently not supported in UTCB IPC, they cannot be used * warnings will be printed whenever a function uses message buffer, indirect string, or flexpage, but the code is generated anyways *> you will have to inspect and manipulate your IDL (2) hybrid L4Linux task avoid UTCB IPC: -fallow-ipc=!utcb * not UTCB IPC is used * allow to specify ranges in [uuid] attribute for operations: you can specify a function that is to be called whenever one of the ID from the specified range is used (can for instance be used for page-fault handling) example: [uuid(0 .. 0xf000)] void handler([in, out] long *p1, [in, out] long *p2); * allow to specify absolute values in [uuid] attribute for operations: you can directy omit the interface ID part of the operation ID. example: [uuid(0xb0000000 .. 0xc0000000, abs)] void handler( ... ); * new debian package [change] * made --inline=static and --inline=extern obsolete. --inline is always static * autotools update * changed _tolower/_toupper to tolower/toupper * update doxygen file * update manpage to recent changes * use l4sys_utcb_get() instead of l4_utcb_get() * some more debug output and moving virtual functions out of class declaration where they might be wrongly inlined. * C++ feature usage: make return type of Clone method the type of the cloned object: no need to cast result. * when checking for bison, remove the '-y' that is added by the standard YACC check * use YACC variable set by configure rather then hard-coding 'bison' [fix]: * sending flexpages * send-base can be zero -> opcode was not found * multiple zero flexpages, the opcode was not found * sorting message buffer leads to endless loop when trying to sort flexpages * if marshalling an array parameter of word size, use member from generic struct * when defining an alias for a constructed type with a typedef, using the constructed type later with 'struct|union ' failed. * when converting a message buffer member and setting the "noconst" attribute, then also set it for the respective parameter -> avoids compile time warning. * an [out, size/string/length, max] parameter might be malloced if it is a pointer to an array instead of just an array. * in derived classes we did not count the flexpages of the base classes, thus the code to look for an opcode did not look in the proper place. * typo fix introduced on rewrite (TYPE_FLEXPAGE vs TYPE_RCV_FLEXPAGE) -> fixes missing setup of receive flexpage in stubs * when mandatorily terminating strings, correctly test size variable for maximum and fix off-by-one bug (reported by gcc-4.3) * in functions with [oneway] or [in] attribute to not add the (unused) exception member to the message buffer. This avoid unmarshalling an unset exception into the environment. * using ECHO, ECHO_N, RM_F, SED variables determined by configure fixes build on MacOS * fix the tracebuffer instrumentation lib to use the binary tracebuffer interface * also use maximum size to set msgtag in marshal function * when determining maximum size of struct only assume the struct type of a member is the same as current struct base on the tag if there is a tag... example: struct A { struct A* next; } <-- next has size of pointer and 'A' is the tag typedef struct { ... } a_t; <-- *no* tag typedef struct { a_t a; } b_t; <-- a was wrongly assumed to be of type b_t based on same (but empty!!) tag. <== fixed. * Changed lookup of types, constants, etc. to bottom-to-top to respect scope of those elements. (Previously lookup was done top-down from root node iterating all children nodes.) * For functions in IDL files that include files which have a name that is a super-set or sub-set of the name of the outer file, the function can be put into the wrong target file. (example: foo.idl includes foo_bar.idl) * string::substr takes length, not position, as second argument * setting of message buffer message dopes * when freeing memory from the environment make sure that this code is only generated when there are parameters that can be allocated dynamically * enable *_marshal_exc function which is another step to fully support exception with C++ * the message buffer now has another struct per function if the function raises exceptions * now also free allocated memory whenever there is a function with a variable sized parameter that has size_is/length_is * also call environment's free function for pointer if [out, string] parameter * actually test target file also for template file. This fixes generation of function skeletons * in libs: fix version number suffix, libs get new version number if something changes * parsing compound statements as expressions (gcc C extension) * parsing type cast of statement * only declare temporary variable in reply-and-wait and wait-any function if we _receive_ variable number of flexpages. (This should fix the "unused variable" warnings people experienced) * new libs to generate opcode traces in ferret sensor or as tracebuffer entry * make Compiler fail on deprecated option -C * when using the -o option, check for the output-dir in the filename when checking target files * in C/C++ parser: recognize __builtin_va_list as type not ID * for simple types store original string from parser to allow later to retrieve that string: this fixes the case that somebody redefines types we already know, such as wchar_t or boolean. * no need to allocate memory at server side for [out, ref] parameters if no [prealloc_server] is given. (This was somehow introduced between 3.1.2 and 3.2.0.) * do not recognize declared class/struct names as such but return ID token. This fixes the recognition of some Linux header files. * kernel/fiasco: [feature] * armv6: add BT support * some annotations for failed long-IPC (could be log-entries as well instead of info-printfs) * add debug support for printing utcb contents, extend 'z' command a bit * print utcb pointer in tcb view * change LD_EMULATION variable to have a default value instead of Linux so that it also works on MacOS * ldemulation settings for FreeBSD hosts * More support for Thumb code [ARM] * Support ARM thum in usermode [ARM] [change] * add more thread existance checks in IPC paths * Added dummy reset module to that can be linked to new platforms ports easiely * merge io bits (additional set and mask functions) from mp branch * merge kern_start_0xd option to select via bsp where the kernel starts * merge kconfig related changes from mp branch * display template names on refresh * move LIBUART objects to BSPs * remove Timer::watchdog_reboot functions * move all reset implementations to BSPs * change loop(); to loop() ; to make gcc-4.3 warnings go away * add -Wno-parentheses to avoid warnings of gcc-4.3 to put parentheses everywhere (can also be easily changed) * make cache attributes more consistent across arm cpus * reenable GSTABS for ux * make deceit-off alway on (no choice anymore) * merge ARM platform modularization * merge KConfig, drop CML2 * merge tlb init stuff from mp * more kernel.image v fiasco.image * add logging of binary data * add code in kern page to get UTCB pointer * one more warning level, default is the middle one * extended cache flushing * allow U as non-interactive command * use LD_EMULATION instead of hardcoding elf_i386 * Moved LDT stuff to Mem_space local variables instead of using pagetable slots [IA32,AMD64] [fix] * use file -L to get nm version * add trigger-exception * tbuf: use parameter instead of doing current_thread again * tbuf: fix PC that is stored * Check MBI Memory flag while booting [IA32,AMD64] * update + fix arm-v6 config * fix user_invoke, visible with non-inline kernel * detect invalid input in comspeed, leading to div0 * strtoul is crap and returns 0 for negative values which it should it not * apply early globber fix in tas * replace echo -e with /bin/echo -e to fix output with non-bash /bin/sh (the other possible fix would be to use bash as the shell) * also emphasize monitored threads * Fixed bug in restricted unmap * when using the syscall page entries, do not log the ip in the syscall page but the ip of the call to the page * for aliens: allow cap-faults too * exception-trigger: take care of user flags when running inkernel code * Avoid using ldm with sp as source and destination because this is unreliable on ARM920t. [BUGFIX, ARM] * fix ex-regs task getter * fix exception IPC sending during killing of the handler * Added lock around TCB BUG messages * Test validity of pager when printing a warning, because threads may disappear * Copy Msg tag also in C shortcut * Fixed state getter * do not init ldt-variables on ux * fix initialization of ldt_{size,addr} * fix size of boot-idt entries * Fixed Trace buffer ouput for page faults [ARM] * l4linux-2.6: [feature]: * L4Linux-2.6.24 released * add two more debug counters: lazy PFs and write PFs * add sample module that does nothing (useful) and can always be compiled as a module so that one can see that it compiles and links * two modes: one uses the task server to create a task, the other uses the task server just to allocate a task and creates it itself the latter one is the default now * use generic consistent file, implement some dma-cache functions * more runtime configuration checks * fully configurable priorities, no hardcoded values [change] * Use restricted unmap, for that: - use mm_context_t struct to store task number - set task number in there upon task start - use value in unmap * do not call fpage_unmap when we're going to delete the task anyway in the same run (e.g. when doing exit), for that: - add a state value in mm_context_t - when fpage_unmap, only do so in normal operation, skip unmap in skip mode * in virt-to-phys and phys-to-virt, change enter_kdebug to WARN_ON to get a backtrace and find the caller by looking at a log * store initial gs in fs for retrieval by hybrid programs * export l4lx_thread_id_get * improve wording in error messages * remove generic_fprov from libs, now in shared lib * arm: eabi and thumb additions, and private syscalls * rename l4env_infopage to l4x_l4env_infopage and make it static * enhance the pf-forwarder to differentiate between ro and rw areas, otherwise we might have a nice dead-lock when mapping our bss with our current message buffer ro... * start one tamer-thread per physical cpu * add functions and command line parser for logical-physical cpu mappings * increase possible phys addresses for dm-phys-addr-getter * increase possible items in virt-phys mappings * add cpu param to l4x_prepare_irq_thread * remove oshkosh driver and support code for the driver * make some module params visible via sysfs (ro) * only display fb message when generic framebuffer is not selected [fix] * add readsw and writesw functions * when copying gs to fs upon thread start, only do so for the first usage of an l4 thread in an AS as for reused l4 threads the gs is already garbled from its previous usage, thus only copy if gs is not inbetween the user usable segments and thus is the utcb * fix return type when dope was not found * reset cloner flag, fixes fork for many-multi-threaded programs doing fork, found by opentc * do not use a static inline forward declare as gcc3(.4) cannot grasp this * build fix for arm * arm: fix generation of modified machine file * push out memory regions before mapping * arm: fix register print * arm: detect eabi syscalls * arm: fix memory allocation (l4rm bug...) * arm: fix /proc/l4 * fix sanity check for l4fb and vga * fix /proc/l4 * fix section mismatches * fix warning * do not write back the wall clock (return an error) * add sanity: enter_kdebug if !defined(L4_FB_DRIVER) && !defined(VGA_CONSOLE) * sanity: check console=ttyLv versus driver availability * tolerate empty utcb pointer * redo utcb-handling, include every l4linux thread, better arm handling * add those TSC functions for seccomp... * also include fpu ptrace parts * fix ldt stuff * only load ramdisk if configured so * l4/pkg/bmsi: [bug fix] * bug fixes bmsic * bug fixes bmsi [feature] * add allow communication to 'bmsic' * add command-line client application 'bmsic' * initial import of Christelle's Basic Management and Security Interface for OpenTC [change] * cleanups and enhancements in BMSI server: - made file provider to be used configurable - domain building/configuring/running: prevent newly created task from being executed immediately by using L4LOADER_STOP flag, but only do so when calling ProtectionDomain_run() - use correct PD states * adapt test client apps to BMSI-server changes * move builder and integrity interfaces into separate client libs * l4/pkg/bootstrap: [bug fix] * fix an off-by-one in find_free * do not consider a directory as an image file * c++ fix * fix arm build * fix arguments of init_loader_mbi * arm: don't use hard-coded value in memory allocator init * fix decompress [feature] * Enable multiple program headers in bootstrap again, use -DSINGLE_SECTION for getting only a single program segment (should be default) * Use C++ removed macros [change] * replace obsolete bcopy+bzero with memset+memmove * change script so that we only get one program header which is required for at least one (...) boot-loader * do not use stripped version in raw format because needed sections are removed! * use drivers package now * better platform modularization * move amd64+ia32 to c++ framework * sa1000 is completely untested * l4/pkg/crtx: [change] * add _exit(1) to __stack_chk_fail_local, not added a printf to not pull in more deps (you may like or may not like this) [bug fix] * stack-protector libs fix * l4/pkg/cxx: [bug fix] * fix warnings * Fixed off-by-one in handling of thread and task stacks * l4/pkg/dde: [fix] * [fix] replace spinlock implementation, map spin_lock_* primitives to ddekit_lock_* primitives * add include-fixed include path to GCCINCDIR * correctly account irq lock reference count * call cache ctor with SLAB_CTOR_CONSTRUCTOR flag * We really need an IRQ lock in order to circumvent priority inversion in spin_lock_irqsave(). * initialize a process' preempt_count to 0 during registration, in Linux it is 1 and the scheduler will decrement it at a later point in time. * implement disable_irq and enable_irq -> this highly decreases ORe's packet loss rate on slow CPUs (e.g., Qemu) [feature] * enable to select Dirk's USB extensions * add net-lib supporting the construction of IP stacks * add some USB-related stuff * keep track of page structs, support virt_to_page() * implement a cache of page structs for lookup * enable external clients to register pages, so that an L4 app may e.g., allocate a dataspace and then register these pages so that Linux code may access them properly * add block devices support -> we go persistence ;-) Linux' block device code relies on file system code to create a pseudo-filesystem for internal handling of block devices. Since we don't want to pull in filesystem code at large, this contains an own implementation of the few basic functions needed (alloc and init superblock, inodes, ...) * Let DDEKit manually allocate stacks for its threads. This enables us to get physical addresses of our stack locations. * enable destructors and constructors for kmem_cache objects * add wrapper method for determining a lock's owner * implement ddekit_interrupt_{detach,disable,enable} [change] * workaround bcopy() which is missing in newer uclibc versions * setup dedicated irq thread prio * implement virt-to-phys lookup * Keep a reference count of disable() calls so that we can call unlock() accordingly in enable(). * import dde_fbsd into the global dde package * l4/pkg/dde_linux: [feature] * Added l4dde_process_remove_worker() [change] * add include-fixed include path to GCCINCDIR * move twice used mm.h (flips & socket_linux) to dde_linux * add struct page handling in dde_linux (required by IP stack) * remove obsolete/unused dummy_page [bug fix] * reference counting per page works now * release allocated pages if counter drops to 0 * add memory release of struct page and page itself * avoids memory leaks in IP stack when running a while * l4/pkg/demangle: * l4/pkg/dm_generic: [changes] * whitespaces and tab fixes * corrected some code alignment violations * l4/pkg/dm_mem: [changes] * remove force_corba_alloc idl flag * removed some whitespaces * corrected some code alignment violations * l4/pkg/dm_phys: [changes] * doc fix * do not use server-env * remove force_corba_alloc idl flag * removed some whitespaces * corrected some code alignment violations [bug fix] * also include kip_area in binary image region so that it does not get nuked later on * l4/pkg/drivers: [change] * add dummy uart that does nothing * some more generic drivers package, taken from arm_drivers * needed since we now use the uart interface in bootstrap for all archs * l4/pkg/events: [bug fix] * retry sending ack-message if send-timeout occured * events returns now the right error code if communication is not allowed with the server * l4/pkg/generic_fprov: * l4/pkg/generic_io: [feature] * add l4io_get_irq_name and l4io_request_mem_region_name convenience functions * make L4IO_MEM_* flags enums and make them more clear * l4/pkg/generic_ts: [feature] * add free2 as counterpart for allocate2, which also gives back chief rights * add possibility to define specific task number for a new loaded task in the loader * l4/pkg/input: * l4/pkg/ipcmon: [bug fix] * fix compiler warnings * SYSTEMS cleanup: removed obsolete x86-l4x0, changed arm-l4x0 into arm-l4v2 * fix check in ipcmon_deny() * string fmt fix [feature] * let the check() function internally return not only true or false, but also whether some policy decision has already been stored in ipcmon * l4/pkg/l4env: [feature] * add function to query when l4env startup is done (flips short before main thread is launched), indicates when we really go multi-threaded * l4/pkg/l4io: [change] * replace SIGMA0_ID with l4sigma0_id() function to be able to make it more dynamic * rework static config to be more modular [bug fix] * Fixed panic output on failed I/O port mapping * l4/pkg/l4rm: [bug fix] * lock internal slab objects * (serious) fix: do not handle a RW PF in a RO region, this worked previously if it was our DS, i.e. the page got rw * fix debug messages for pagefaults to only display on PFs [change] * renamed l4rm_handle_pagefault to l4rm_handle_fault [feature] * add message for unknown faults * l4/pkg/l4sys: [bug fix] * fix ipc_call wrt memory references after pushing ebp * use mword in l4_low_high_t * fix l4sys_utcb_get for amd64 * add special version of libl4sys for l4linux hybrid programs they'll find their utcb address in fs instead of gs * make g++ happy * fix include order of syscalls * fix order of ipc includes [change] * do not call a static inline function from an extern inline function, warning with gcc-4.3 * make timeout documentation (api_timeout) accessible * gcc-4.2 changed its pic handling * kill code duplicates * remove implementation files of the l4sec emulation * a bit restructured for better documentation * remove x0 stuff [feature] * add l4_fpage_unmap_taskid to calculate the task-bits for restricted unmap * add l4_ktrace_tbuf_ke_bin event * timer enable/disable functions * add fiasco_tbuf_log_binary * l4_utcb_get(): use kernel provided code to get utcb ptr * define l4sys_utcb_get() to get the utcb, this a function in libl4sys which is weak and can be overwritten by applications that may need to take care of the utcb... * libraries should not use l4_utcb_get() * add capfpages to fpages (might be of interest for ipcmon) * l4/pkg/l4util: [bug fix] * arm consistency fix * fix cmpxchg8 in pic without frame-pointer * fix PIC definition check * fix l4util_find_first_zero_bit and l4util_find_first_set_bit [feature] * use sigma0 function * add l4util_{inc,dec}32 * pic version of cmpxchg8byte * l4/pkg/ldso: [change] * uclibc, uclibc++ and ldso update * should now work with recent tools * increate mmap entries * remove diet support [bug fix] * fix pic-handling by merging some more recent code from uclibc * fix warning * l4/pkg/libc_backends: [changes] * also build file directory * uclibc, uclibc++ and ldso update * should now work with recent tools * remove sec stuff [feature] * very simple open/read/seek/close implementation using UX and fprov as backend * l4/pkg/libc_backends_l4env: [change] * make lseek weak * enable arm * l4/pkg/libc_support: * l4/pkg/libcrypto: * l4/pkg/libsigma0: [change] * replace SIGMA0_ID with l4sigma0_id() function to be able to make it more dynamic * improve error checks for kip string handler * mask out subversion number in whole version number [bug fix] * fix kip ipc call * fix type for return type of error code function, fixes warnings [feature] * introduce new function l4sigma0_kip_map_to that does a subset of l4sigma0_kip_map: only the pure protocol stuff * change l4sigma0_kip_map to use SIGMA0 if no id given, thus removing the need for rmgr_init * use l4sigma0_kip_map_to in l4sigma0_kip_map * note: this kip_area thing must go * l4/pkg/linux-24-headers: * l4/pkg/linux-26-headers: * l4/pkg/loader: [feature] * add generic_fprov * add docu [change] * remove hardcoded value * add free2 as counterpart for allocate2, which also gives back chief rights * add possibility to define specific task number for a new loaded task in the loader * remove mmio-emulation stuff [bug fix] * printf fmt fix * l4/pkg/lock: [bug fix] * make l4lock_owner parameter const * l4/pkg/log: [bug fix] fix a couple of "missing prototype" warnings * l4/pkg/lxMir: * l4/pkg/lxfreeze: [bug fix] * SYSTEMS cleanup: removed obsolete x86-l4x0, changed arm-l4x0 into arm-l4v2 * fixed exit event handling when using tasklib * generate own exit event * l4/pkg/lxfuxlibc: [feature] * add --searchpath option (ala --searchpath /path/one:/path/two:...) * l4/pkg/lyon: [bug fix] * SYSTEMS cleanup: removed obsolete x86-l4x0, changed arm-l4x0 into arm-l4v2 * fix warnings * l4/pkg/names: [changes] * arm: link address adaption * restrict all occurrences of name to maximum name length -> all IPC fits into UTCB now * SYSTEMS cleanup: removed obsolete x86-l4x0, changed arm-l4x0 into arm-l4v2 * l4/pkg/omega0: * l4/pkg/ore: [changes] * add include-fixed include path to GCCINCDIR * only include dde2.4 headers if using dde2.4 * also make exit fn a static symbol [feature] * command line switch to select ORe interface name * l4/pkg/roottask: [bug fix] * do not map kip to some specific place within roottask, this place is potentially the wrong one, instead use the place from libsigma0 which is here anyway, also do not duplicate the code [change] * arm: link address adaption * add range checks * allow setting an explicit task number for tasks * insn memory barrier before creating tasks * remove dietlibc support [bug fix] * fix wrap-around in memory calculation by rephrasing it * fix roottask build with USE_TASKLIB * add some missing dependencies * l4/pkg/rtc: [feature] * add generic dummy implementation * l4/pkg/semaphore: [changes] complain if tsc calibration fails add debug log [bug fix] * fixes return value if timeout==0 with semaphore_down_timed is used * fix semaphore_down_time bug * pending counter has to be set only when queue is empty * Failed IPC send by semaphore thread to "down_time" threads must not change the pending counter, because such threads modify later on the semaphore counter after the timeout. * l4/pkg/serial: * l4/pkg/sigma0: [changes] * arm: link address adaption * kip mapping: also set snd_base * consistency and style fixes * l4/pkg/slab: * l4/pkg/stpm: [bug fix] * fix include * skip tpm_reset of 1.2 TPMs when using stdout_quote * use byte count instead pcrs number * tpm 1.1 drivers fixed in conjunction with dde2.6 * Return value of pci_register_driver changed between linux 2.4 and linux 2.6. Return values of drives are ignored in 2.6 (at least currently). So, workarounded by checking 'initialized' resp. 'unused' of 1.1 TPM drivers. [changes] * update README to reality [feature] * make to be used {s,v}TPM server reconfigurable by clients * add virtual tpm server for L4 (still work in progress) * add sources of TPM emulator * add support for reading timeout values of TPM * add tpm run console A simple L4Con console for getting in contact with a TPM interactively. This tool can be used for creating, loading keys and much more if no OS is installed to take ownership, managing keys and so on. * add pcr count detection and use it for quotes * add TPM_GetPubKey to retrieve public part of a loaded key from a TPM * extend quoting functionality * let the user specify the key to be used instead of a fixed one * add support for specifing count of PCRs to be used * depend on number of PCRs parse the pcrcomposite right * add TCGA 1.2 specific support of * TPM_FlushSpecific (replacement of TPM_EvictKey) * TPM_LoadKey2 (replacement of TPM_LoadKey) * l4/pkg/task: [changes] * adapt to task server interface changes [bug fix] * init server callbacks correctly * SYSTEMS cleanup: removed obsolete x86-l4x0, changed arm-l4x0 into arm-l4v2 * Workaround IPCMon problem: when a monitored task A creates a child B, it tries to map the communication right B->B to B. Unfortunately A does not necessarily have this right at this point, because IPCMon only sets up comm rights when an IPC fault occurs, but there is no IPC before task creation. The workaround is to send a bogus IPC to the non-existing task just after it has been allocated. [feature] * add callback to be run after task allocation so that a task server can get information about the task ID that will be passed to a client * l4/pkg/thread: [feature] * add internal function l4th_tcb_get_nocheck that does not check the state of the TCB * make l4thread_get_prio use l4th_tcb_get_nocheck because get the priority is just reading and should be doable all time, also the tcb is not removed so no problem, should also fix the warning in semaphore lib in contention case * l4/pkg/uclibc: [change] * remove non-existing files from the lists * uclibc, uclibc++ and ldso update * should now work with recent tools * use the isatty from uclibc instead of always returning yes * add dummy implementation of ioctl (l4vfs overwrites this one) * remove dietlibc stuff from modes.inc [bug fix] * fix mempcpy entry * l4/pkg/uclibc++: [bug fix] * make "make include" actually compile only the headers in uclibc++. The same method is used in uclibc. * build fix for gcc 4.3 builds [change] * uclibc, uclibc++ and ldso update * should now work with recent tools * l4/pkg/uclibc_r: [change] * fix arch stuff, enable all