2007-02-28: February Snapshot * Build environment: * Changed: Fiasco and DICE source tree's are now separated from the general l4 tree. * Changed: build directories for fiasco, l4 packages and linux are in build. * DICE upgrade to newly released version 3.1.1: * Fixed: warn on colliding operation IDs for two base interfaces in the derived interface. * Fixed: classes generated from derived interfaces derive from the classes of the base interfaces now. This has some consequences for member variables (exist in base class) and constructors (call base class constructor). * Fixed: parameters with constructed type and [out, ref] parameter were not unmarshalled correctly * Fixed: for X0: actually invoke IPC in reply function * Fiasco: * Feature: move to new KIP format (with L4V4 memory descriptors). * Feature: FPU can be transfered with UTCB IPC, when sender and receiver agree to this. This feature is important especially for virtualization of Linux. * Fixed: (Bug 218) Fiasco-UX now also runs on systems with TLS (thread local storage) enabled libc's * Fixed: critical Bug in mapping code. In the case of a large send flex page and a small receive window. * Fixed: (Bug 289) when updating kernel memory pagetables with disabled interrupts, interrupts have been switched on and thus allowed breaking the cpu lock * Fixed: EFlags get restored also if IO protection is off. * Fixed: size of multiboot info in KIP memory descriptors. * L4Linux upgrade to 2.6.19: * Feature: use the new FPU state switching feature of Fiasco * Feature: add memisadma=xx option to cmdline to configure the size of ISA DMA memory, default stays at 2MB, use memisadma=0 to disable usage of ISA DMA memory * Fixed: tamer implementation. Formerly, under heavy workload a deadlock could occur * Fixed: irq struct in l4ore driver * Changed: use l4io (omega0) for interrupts * dm_phys: * Removed: limitation that always enables physically contiguous memory when requesting super pages * Fixed: a bug in __aligned_size that did only consider the start of the page area but not the end * l4rm: * Feature: a new interface in l4rm enables one to store user-defined pointers for regions. So the l4rm AVL tree for used regions can be reused to lookup user information about these regions. * log: * Removed: obsolete oskit code * loader: * Removed: obsolete oskit code * Fixed: documentation completly revised * roottask: * Fixed: some documentation bugs * Fixed: a typo bug * sigma0: * Removed: sigma0-ux is not needed anymore, use sigma0 instead * Changed: uses only memory descriptors from the KIP, no MBI or something else * ORe: * Added: some assertions * Changed: sequence of broadcast packet and of quota handling to gain a better performance * Changed: when looking up the ORe server, do some retries before giving up * Fixed: the ORe server's loopback device can be used to connect only to local clients and in absence of any HW NICs. In this case, the device's MTU is 16k and not ETH_FRAME_LEN, therefore adapt the ORe stub's receive buffer size * lxfuxlibc: * Feature: socket and connect support * slab: * Feature: support for multi-page slabs and automatic slab dimensioning * Removed: __resort() and l4slab_get_page_data() * Fixed: the slab implementation requires that the memory for the slab data is slab_size aligned, which is now guaranteed * ipcmon: * Feature: revocation works * Fixed: bug in lookup funktion * Added: loader script and Fiasco-UX run script for test scenario * libc_backends: * Feature: enhanced sigma0 backend available, which firstly allocates some memory from sigma0 before dm_phys gets it all 2006-12-05: October Snapshot: Patchlevel 3 * Major upgrade of DICE to newly released version 3.1.0: Fixes several problems, including those addressed in the second patch and a stack underflow problem that became apparent in the DOpE package provided with the additional EMSCB source tarball See Changelog file in the DICE source tree included in this snapshot * Adaptations to new DICE version in various user-level packages: * Instead of [prealloc], IDL interfaces now use [prealloc_client] and/or [prealloc_server]; see Section 1.6.4 of the DICE user manual for more details * Reverted preliminary fixes for loader and names package from patchlevel 2 * roottask: * Fixed the use of incorrect constants in the client library * Fixed client-side and server-side code of rmgr_set_task_id(): This function no longer registers a new name, but just tries to set the quota for a given task * Added missing bounds checking on names registry * Removed obsolete code for handling old sigma0 protocol * Fixed C++ compatibility of libio interface: adapted packages: generic_io, l4io * Fixed typo in inline documentation of sigma0 lib's header file concering cacheable/noncacheable memory mappings * Added missing documentation of 'all_sects_writable' directive in loader package * C++ compatibility fix in semaphore library * Fixes related to C standards and removal of obsolete code for older compilers in the the l4sys system-call bindings * Added ptest test case for names package * Minor fixes in log package * Changed default configuration of non-driver L4Linux so that it indeed does not touch any hardware (i.e., removed serial driver) * Fixes in the EMSCB tarball: * Fixed C++ compatibility of libio interface: adapted packages: dde_linux, dde_linux26 * Minor fixes in lxfuxlibc and l4vfs packages 2006-11-20: October Snapshot: Patchlevel 2 * Fix DICE-related problems in the names and loader packages: Add missing CORBA_alloc() and CORBA_free() 2006-10-27: October Snapshot: Patchlevel 1 * Fix for Fiasco: Clear reference to previosly freed I/O page table entries * Fix for Fiasco: Enable 4K stacks in order to avoid stack underflows 2006-10-16: October Snapshot with IPC-Mon Support * Fiasco: * Mapping database supports memory, I/O, and capability spaces * Support for mapping and unmapping task capabilities * Improved support for mapping and unmapping of superpages * Support for unmapping memory-mapped I/O pages and I/O flexpages * Support for querying dirty and accessed flags * Support for "directed unmap" * Support for reclaiming unused kernel memory from slab allocaters * Task capabilities (IPC-Mon) support in user-level packages: * ipcmon package provides a capability-fault handler and client library * roottask, simple_ts, and loader packages and system-call bindings adapted for task capabilities * Upgrade to L4linux 2.6.18 * Upgrade to new version of DICE 2006-07-13: July Snapshot: Patchlevel 1 * Extension to allow running multiple instances of the ORe network switch; includes changes for both ORe and L4Linux 2006-06-30: July Snapshot * Fast IPC path in Fiasco * Sigma0 extension for MTRR support (cacheable memory-mapped I/O) * Upgrade to L4linux 2.6.17 * L4Env build directories support * DICE messagebuffer changed to support X.2 * Dynamic loading of applications via ldso * Development overview document added 2006-06-09: March Snapshot: Patchlevel 1 * Fix for memory leak in ORe 2006-03-31: March Snapshot * First snapshot released! * Includes: Fiasco, L4Env core, L4Linux, DICE