First steps of new DDE-Linux-based USB driver

The new 'dde_linux' repository will host device drivers ported from the
Linux kernel. In contrast to the original 'linux_drivers' repository,
'dde_linux' does not contain any 3rd-party source code. To download the
Linux kernel source code and extract the drivers, execute the 'make
prepare' rule of the top-level Makefile. The initial version of the
'dde_linux' repository does not feature any working driver. However, it
contains the first fragments of the new USB driver (the Linux source
code for the USB core actually compiles). The porting methodology
follows the path of the Intel GEM port. Instead of attempting to provide
a generic Linux environment that works across drivers, each driver comes
with a specially tailored DDE.
Resolve all symbols of USB driver

The 'lx_emul.cc' contains Genode-specific implementations of Linux API
functions. 'dummies.c' contains all functions that are not yet
implemented. By adding those (dummy) implementations, the usb_drv binary
links successfully.
Add USB host-controller drivers
Make local capability interface explicit. Fix #139.

Introduce a factory-, and dereference method for local capabilities. These are
capabilities that reference objects of services, which are known to be used
protection-domain internally only. To support the new Capability class methods
a protected constructor and accessor to the local object's pointer is needed
in the platform's capability base-classes. For further discussion details please
refer issue #139.
Don't memcpy the parent capability. Fix #144.

To give the platform developer more freedom in how the Native_capability
class is internally implemented (e.g. turning it into a smart-pointer),
this patch removes the memcpy operation, when transfering the parent-capability
to a new process from the generic code, and let the implementation of the
platform-specific Native_capability decide how the transfer has to be done.
Please refer to issue #144.
Merge Native_capability implementations (fix #145).

This patch unifies the Native_capability classes for the different kernel
platforms by introducing an appropriate template, and eliminating naming
differences. Please refer issue #145.
Follow-up tweaks for issue #145

Because we use to pass a policy class to 'Native_capability_tpl'
we can pass the dst type as part of the policy instead of as
a separate template argument. This patch also adds documentation
of the POLICY interface as expected by 'Native_capability_tpl'.
Unify policy name for Native_capability_tpl.

This commit unifies the policy name for the template argument for
Native_capability_tpl to Cap_dst_policy, like suggested by Norman in the
discussion resulting from issue #145. Moreover, it takes the memcpy
operation for copying a Native_capability out of the template, which is
included by a significant bunch of files, and separates it in a library,
analog to the suggestion in issue #145.
L4Linux: fix changed name scope of enums.

This bug was introduced by commit c9c21ad39c, where Fiasco_capability
was removed, and enums defined in that class scope went to the namespace
Fiasco. In L4Linux some references to Fiasco_capability remained.
Rename tid() to dst() in Native_capability.

As suggested by Norman in the discussion of issue #145, this commit
renames the tid() accessor in Native_capability to dst().
ACPI: Cleanup

Remove unnecessary debugging output. Filter output correctly in run script.
Do not marshal invalid capabilities on NOVA/x86

We send a local name of ~0L instead, if this is encountered during the
unmarshalling we generate an invalid 'Native_capability' (Fixes #148).
Change include order to remedy conflicting defines

Both the libc and the NOVA syscall bindings provide the definition of
PAGE_SIZE. In contrast to the libc, which uses a #define, the NOVA
syscalls uses a proper enum value. Thus, we can work around the conflict
by including the NOVA syscalls header prior the libc header. Fixes #152.
Add x86_32 requirement to AHCI and ACPI drivers
ACPI: Parse MADT

Implemented IRQ service and MATD parsing. Please have a look at the 'README'
file. Fixes issue #151
ACPI: Remove quota checking

Remove RAM quota checking on IRQ session creation. Spelling fixes.
(Fix #151)
Handle current working directory in Noux
Fiasco.OC: Set interrupt mode in IRQ session

Set IRQ 0-15 to edget/high and 16-23 level low (x86 only). Fixes #153
Introduce design pattern for uncopyable objects.

Introduce a new Noncopyable class, one can derive from to mark a class of
objects to be uncopyable. This way the compiler can check for any violations
for you.
News about GSoC 2012 rejection