Skip to content
Commits on Apr 25, 2016
  1. @chelmuth
  2. @Kensan @chelmuth

    hw_x86_64_muen: Use Bitset template for MSI address handle

    Kensan committed with chelmuth Feb 24, 2016
    Use Bitset_2 to represent MSI address handle which renders the
    Msi_handle type unnecessary.
  3. @Kensan @chelmuth

    dde_bsd: Switch mirror of dde_bsd.port

    Kensan committed with chelmuth Apr 20, 2016
    The previous mirror has removed OpenBSD version 5.7.
  4. @chelmuth

    Prevent compiler warnings

    chelmuth committed Apr 21, 2016
  5. @chelmuth
  6. @chelmuth

    noux: prevent compiler warning

    chelmuth committed Apr 21, 2016
  7. @m-stein @chelmuth

    base: no exit handler for libc stdout log console

    m-stein committed with chelmuth Apr 20, 2016
    We don't want Genode environment objects that register their destructor
    for program exit as it is mostly unnecessary and easily produces
    dangling pointers. Thus, use unmanaged_singleton instead of the static
    keyword.
    
    Fixes #1941
  8. @chelmuth

    libc: qualify Plugin_context as base class

    chelmuth committed Apr 4, 2016
    ...by defining a virtual destructor.
  9. @chelmuth
  10. @chelmuth

    lxip: correct return type in send/recv socketcall

    chelmuth committed Apr 2, 2016
    Now, error cases are reported correctly and not as gigantic ssize_t
    values on 64-bit.
  11. @chelmuth
  12. @chelmuth

    ldso: dump link map of loaded shared objects

    chelmuth committed Apr 3, 2016
    Also log the link-map information of shared objects loaded after startup
    if 'ld_verbose' is configured.
  13. @m-stein @chelmuth

    hw arm: avoid shared cache lines during MP init

    m-stein committed with chelmuth Apr 8, 2016
    When bringing up the kernel on multiple cores, there is a time span
    where some cores already have caches enabled and some don't. Core-local
    storage that may be used during this time must be aligned at least to
    the maximum line size among global caches. Otherwise, a cached core may
    unintentionally prefetch data of a yet uncached core into a global
    cache. This may corrupt the view of the uncached core as soon as it
    enables caches. However, to determine the exact alignment for every
    single ARM platform isn't sensible. Instead, we can align to the minimum
    page size assuming that a cache never wants to prefetch from multiple
    pages at once and thus fulfills "line size <= page size".
    
    Fixes #1937
  14. @m-stein @chelmuth
  15. @m-stein @chelmuth

    libports: raise stack size of libc apps

    m-stein committed with chelmuth Apr 19, 2016
    Triggered by cc1plus in noux_tool_chain_auto on hw_arndale that caused
    an overflow on its 64K stack.
    
    Ref #1941
  16. @m-stein @chelmuth

    base: get rid of alloc align default value

    m-stein committed with chelmuth Apr 18, 2016
    When using the Allocator interface, one can't tell which alignment
    resulting allocations fulfill. However, at least on ARM, given the
    architectural alignment requirements of ARM memory accesses, one wants
    memory allocations (what allocators are for in most cases) to be word
    aligned automatically. Previously, at least the AVL allocator simply
    called alloc_aligned without defining align in its alloc implementation.
    This led to unaligned access faults (the default was 0) when using the
    AVL allocator as Allocator (as done in the metadata management of a SLAB
    of an AVL that uses the AVL as backing store). To avoid such pitfalls
    in the future, we force users of alloc_aligned to always specify align
    (why use alloc_aligned without align anyway).
    
    Ref #1941
  17. @cproc @chelmuth

    noux: keep cap of last pager

    cproc committed with chelmuth Apr 14, 2016
  18. @nfeske @chelmuth
  19. @m-stein @chelmuth
  20. @ValiValpas @chelmuth

    hw_zynq: refactor specs

    ValiValpas committed with chelmuth Mar 24, 2016
    This is a generalisation approach of the hw_zynq target. As the boards
    typically use UART1 instead of UART0 (used by qemu), we have to
    distinguish between those. Moreover, in general hw_zynq does not imply
    zynq_qemu anymore, so that the support of particular boards can be
    placed in third-party or community repositories (e.g. Genode world).
    
    Fixes #1926
  21. @nfeske @chelmuth

    Improve warning message

    nfeske committed with chelmuth Apr 14, 2016
  22. @ValiValpas @chelmuth
  23. @nfeske @chelmuth

    Unify ipc_msgbuf.h across base platforms

    nfeske committed with chelmuth Mar 18, 2016
    Besides unifying the Msgbuf_base classes across all platforms, this
    patch merges the Ipc_marshaller functionality into Msgbuf_base, which
    leads to several further simplifications. For example, this patch
    eventually moves the Native_connection_state and removes all state
    from the former Ipc_server to the actual server loop, which not only
    makes the flow of control and information much more obvious, but is
    also more flexible. I.e., on NOVA, we don't even have the notion of
    reply-and-wait. Now, we are no longer forced to pretend otherwise.
    
    Issue #1832
  24. @nfeske @chelmuth

    base: separate native CPU from CPU session

    nfeske committed with chelmuth Mar 30, 2016
    This patch unifies the CPU session interface across all platforms. The
    former differences are moved to respective "native-CPU" interfaces.
    
    NOVA is not covered by the patch and still relies on a custom version of
    the core-internal 'cpu_session_component.h'. However, this will soon be
    removed once the ongoing rework of pause/single-step on NOVA is
    completed.
    
    Fixes #1922
  25. @nfeske @chelmuth

    base: optimized slab allocator

    nfeske committed with chelmuth Mar 31, 2016
    This patch changes the organization of the slab blocks within the slab
    allocator. Originally, blocks were kept in a list sorted by the number
    of free entries. However, it turned out that the maintenance of this
    invariant involves a lot of overhead in the presence of a large number
    of blocks. The new implementation manages blocks within a ring in no
    particular order and maintains a pointer to the block where the next
    allocation is attempted. This alleviates the need for sorting blocks
    when allocating and deallocating.
    
    Fixes #1908
  26. @nfeske @chelmuth
  27. @nfeske @chelmuth

    Stress test for the slab allocator

    nfeske committed with chelmuth Mar 31, 2016
    Issue #1908
  28. @nfeske @chelmuth

    allocator_avl: hand back meta data when destructed

    nfeske committed with chelmuth Apr 4, 2016
    This patch ensures that the 'Allocator_avl' releases all memory obtained
    from the meta-data allocator at destruction time. If allocations are
    still dangling, it produces a warning, hinting at possible memory leaks.
    Finally, it properly reverts all 'add_range' operations.
  29. @nfeske @chelmuth

    core: use copy of region metadata in detach

    nfeske committed with chelmuth Apr 8, 2016
    This patch fixes a use-after-free problem raised by the recent ability of
    the slab allocator to dynamically release empty slab blocks. The
    Rm_session_component::detach function used to rely on the assumption
    that the region metadata co-located with the allocator metadata of the
    '_map' would stay intact even after a 'free' if the region.
  30. @nfeske @chelmuth

    libc: never destruct the file-descriptor allocator

    nfeske committed with chelmuth Apr 5, 2016
    This patch prevents the destruction of the fd allocator when the program
    exists. Otherwise, the meta data for file descriptors that were not
    manually closed would vanish, which may cause problems in subsequent
    destructors.
  31. @nfeske @chelmuth

    heap: release ds pool meta data when destructed

    nfeske committed with chelmuth Apr 5, 2016
    This patch makes sure that the dataspace pool is flushed before
    destructing the heap-local allocator-avl instance. With the original
    destruction order, the allocator would still contain dangling
    allocations on the account of the dataspace pool when destructed. In
    practice, this caused no problem because the underlying backing store is
    eventually freed on the destruction of the pool. But it triggers a
    runtime warning of the allocator since it has become more strict with
    regard to dangling allocations.
  32. @nfeske @chelmuth

    sel4: allocate vm-space meta data statically

    nfeske committed with chelmuth Apr 5, 2016
    This patch removes the dynamically growing slab allocator from the
    page-table registry. This has two benefits. First, we alleviate the
    corner cases where the slab allocator needed to extend its backing store
    while establishing a core-local memory mapping, thereby triggering a
    nested core-local mapping. Without this corner case, no reentrant lock
    is needed any longer. Second, it removes the dependency from the overly
    large old API of the slab allocator. So we can tighten the slab
    interface.
  33. @ehmry @chelmuth
  34. @ehmry @chelmuth

    lib/vfs: new permissions errors

    ehmry committed with chelmuth Apr 1, 2016
    New errors STAT_ERR_NO_PERM, DIRENT_ERR_NO_PERM, and READLINK_NO_PERM to
    distinguish lookup errors from permissions or other errors.
    
    Issue #1751
  35. @ehmry @chelmuth

    lib/vfs: fix disappearing <dir><dir/></dir>

    ehmry committed with chelmuth Mar 31, 2016
    Issue #1751
Something went wrong with that request. Please try again.