Move 'Child' API implementation to library
ACPI/IRQ: Add interrupt mode to IRQ connection

Read flags (polarity/trigger) from MADT and add information to 'Irq_connection'
arguments.

Issue #390
IRQ: Add base class for shared IRQs

Added generic 'Irq_proxy' class to core includes (ported from base-okl4). It can
be used to implement shared IRQ support for various base platforms. It will
generate one thread per IRQ and unblocks waiting clients (IRQ sessions) upon
interrupt receipt.

Issue #390
Core: Shared IRQ support for Nova/FOC/OKL4

Implement shared IRQs using 'Irq_proxy' class.

Nova: Added global worker 'Irq_thread' support in core and adapted Irq_session.

FOC: Adapted IRQ session code, x86 has shared IRQ support, ARM uses the old
model. Read and set 'mode' argument (from MADT) in 'Irq_session'.

OKL4: Use generic 'Irq_proxy'

Fixes issue #390
libc: handle 'O_APPEND' flag for 'open()'

Fixes #319.
EGL: Aligned memory allocation

Free memory allocated with 'align_malloc' using 'align_free'.

Fixes issue #391
Enable 'signal' test on 'base_hw'.
Fix typo in 'dde_linux'

Thanks Alexander Tarasikov for reporting!
dde_ipxe_nic: add 'core/string.c' to 'SRC_C'

The 'string.c' file contains a 'memcmp()' implementation which is needed
by the driver.

Fixes #387.
Noux: simplify 'User_info' constructor

This patch removes the '_dup_str' function, which was unsafe due to a
missing check of the dst boundary.
Fix warning
Noux: touch TARGET after successful installation

Make sure that the $(TARGET) file has a more recent timestamp than its
dependency after a successful installation.

Fixes #405.
L4Linux: fix IRQ save functions (fix #406)
L4Linux: Block driver add IRQ guards

Use IRQ guards in C++ interface when calling Genode intefaces.

Supplements issue #406
L4Linux: Make block driver MP safe

Release block-request-queue-spin lock when blocking during packet allocations, this
is necessary to re-enable VCPU IRQs.

Fixes issue #395
Merge of initial SCM rights code

This patch, which was originally created by Christian Helmuth,
represents the first step towards using SCM rights as capability
mechanism on Linux. It employs the SCM rights mechanism for transmitting
a reply capability to the server as argument of each IPC call. The
server will then send its respond to this reply file descriptor. This
way, the reply channel does not need to be globally visible anymore.
Add 'socket' member to 'Native_capability::Dst'

In the final version, the 'socket' will be the only member to remain in
the 'Dst' time. In the transition phase, we store both the old 'tid' and
the 'socket'.
linux: Fix 'explicit_reply' semantics

By storing the reply socket descriptor inside the 'Ipc_ostream::_dst'
capability instead as part of the connection state object, we can
use the 'explicit_reply' mechanism as usual. Right now, we store
both the tid and socket handle in 'Native_capability::Dst'. In the
final version, the 'tid' member will be gone.
Do not pass client tid to server on IPC call

Thanks to the SCM-rights-based reply capability, the server does not
need to know about the client's TID anymore.
linux: Remove socket member from 'Native_thread'

The only information needed per thread is whether the thread plays the
role of an 'Ipc_server' or not. We encode this information using a bool
value.