mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 21:57:55 +00:00
parent
76127433b7
commit
aa4fa69987
@ -125,7 +125,7 @@ language level, we introduced a template for creating specialized
|
||||
capability types ('Typed_capability' in 'base/typed_capability.h') and
|
||||
the convention that each RPC interface declares a dedicated capability
|
||||
type. Note that type-safety is not maintained across RPC interfaces. As
|
||||
illustrated in Figure [img/layered_ipc], typification is done at the
|
||||
illustrated in Figure [layered_ipc], typification is done at the
|
||||
object-framework level on the server side and via in the 'Connection'
|
||||
classes at the client side.
|
||||
|
||||
@ -218,7 +218,7 @@ would have to be queued at the transmitter.
|
||||
|
||||
[image signals]
|
||||
|
||||
Image [img/signals] illustrates the roles of signaller thread,
|
||||
Image [signals] illustrates the roles of signaller thread,
|
||||
transmitter, receiver, and signal-handler thread.
|
||||
|
||||
[http://genode.org/documentation/api/base_index#Asynchronous_notifications - See the new API documentation for asynchronous notifications...]
|
||||
@ -346,7 +346,7 @@ Consistent use of typed capabilities and connection classes
|
||||
|
||||
We applied capability typification to all interfaces of Genode including
|
||||
the base API and the interfaces defined in the 'os' repository. Figure
|
||||
[img/base_cap_types] provides an overview about the capability types
|
||||
[base_cap_types] provides an overview about the capability types
|
||||
provided by the base API.
|
||||
|
||||
[image base_cap_types]
|
||||
@ -442,7 +442,7 @@ FreeBSD in his diploma thesis
|
||||
;
|
||||
Dirk Vogt successfully re-approached the port of USB device drivers
|
||||
from the Linux kernel to L4 in his student research project
|
||||
[http://os.inf.tu-dresden.de/papers_ps/vogt-beleg.pdf - USB for the L4 Environment].
|
||||
[http://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 Environment].
|
||||
|
||||
The current incarnation of the DDE kit API provides the following
|
||||
features:
|
||||
@ -465,7 +465,7 @@ the synchronization primitives, and the thread API.
|
||||
|
||||
[image dde_kit]
|
||||
|
||||
Figure [img/signals] illustrates the role of DDE kit when re-using an
|
||||
Figure [dde_kit] illustrates the role of DDE kit when re-using an
|
||||
unmodified device driver taken from the Linux kernel. DDE kit translates
|
||||
Genode's C++ base API to the DDE kit C API. The DDE kit API, in turn, is
|
||||
used as back end by the Linux driver environment, which translates Linux
|
||||
|
@ -125,8 +125,8 @@ effort is included in this release and comes in the form of the
|
||||
|
||||
:Further details:
|
||||
|
||||
You can find further technical details and usage instructions at our
|
||||
dedicated [http://genode.org/community/wiki/GenodeOnL4kaPistachio - Wiki page].
|
||||
You can find further technical details and usage instructions at this
|
||||
dedicated [http://genode.org/documentation/platforms/pistachio - page].
|
||||
|
||||
|
||||
Qt4 on Genode
|
||||
@ -158,7 +158,7 @@ utilize recently added features of Genode such as its alarm framework to
|
||||
simplify the Qt4 port. Furthermore, we were able to remove all
|
||||
platform-specific bits such that the Qt4 port has now become completely
|
||||
generic with regard to the underlying kernel. Qt4 can be executed on Linux,
|
||||
L4/Fiasco, and L4ka::Pistachio without any changes. Figure [img/qt4_screenshot]
|
||||
L4/Fiasco, and L4ka::Pistachio without any changes. Figure [qt4_screenshot]
|
||||
shows a screenshot of Qt's Tetrix example running side-by-side with native
|
||||
Genode applications.
|
||||
|
||||
@ -185,7 +185,7 @@ Genode applications.
|
||||
applications are exceedingly large. For example the Tetrix binary is
|
||||
100MB including debug information and 11MB in the stripped form. For
|
||||
employing Qt on Genode at a larger scale, Genode should be enhanced with
|
||||
[http://genode.org/community/wiki/SharedLibrarySupport - shared-library support].
|
||||
shared-library support.
|
||||
|
||||
|
||||
Networking
|
||||
|
@ -158,10 +158,10 @@ thoroughly documented the process in
|
||||
Usage
|
||||
=====
|
||||
|
||||
For using Genode with OKL4, please refer to the following dedicated Wiki page:
|
||||
For using Genode with OKL4, please refer to the following dedicated page:
|
||||
|
||||
:[http://genode.org/community/wiki/GenodeOnOKL4 - Genode on OKL4]:
|
||||
Wiki page about building and using Genode with the OKL4 kernel.
|
||||
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||
Site about building and using Genode with the OKL4 kernel.
|
||||
|
||||
|
||||
Limitations of the current implementation
|
||||
@ -308,7 +308,7 @@ we already utilized this approach for realizing basic networking on Genode.
|
||||
With this release, we complement DDE Linux with support required by USB
|
||||
drivers. We are grateful for being able to base our implementation on the
|
||||
excellent foundation laid by Dirk Vogt. He described his work in
|
||||
[http://os.inf.tu-dresden.de/papers_ps/vogt-beleg.pdf - USB for the L4 environment].
|
||||
[http://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 environment].
|
||||
|
||||
For USB HID support, we added the Linux USB and input subsystems to the DDE
|
||||
Linux 2.6 framework. Besides the 'dde_linux26/net.h' API for network drivers
|
||||
@ -321,7 +321,7 @@ implementations.
|
||||
|
||||
[image usb_current]
|
||||
|
||||
Image [img/usb_current] illustrates the current implementation of the USB-based
|
||||
Image [usb_current] illustrates the current implementation of the USB-based
|
||||
human-interface device (HID) driver. In this monolithic setup, all parts of the
|
||||
USB stack and the device API are executed within one address space. These parts
|
||||
are
|
||||
@ -335,7 +335,7 @@ are
|
||||
[image usb_aspired]
|
||||
|
||||
We regard this as an intermediate step towards our goal to decompose the USB
|
||||
stack. Image [img/usb_aspired] shows our aspired design. In this design, the
|
||||
stack. Image [usb_aspired] shows our aspired design. In this design, the
|
||||
USB server and one or more USB gadget drivers run in dedicated address spaces.
|
||||
The USB server provides two interfaces called USB session interface and USB
|
||||
device interface. A USB session interface corresponds to a virtual root hub,
|
||||
@ -389,7 +389,7 @@ Genode's process tree. We explored two approaches:
|
||||
the high costs of maintaining the paravirtualized Linux kernel, a
|
||||
semiautomatic paravirtualization technique was created. According to the
|
||||
impressive results presented in
|
||||
[http://l4ka.org/publications/paper.php?docid=2025 - Pre-Virtualization: Soft Layering for Virtual Machines],
|
||||
[http://www.l4ka.org/l4ka/publ_2006_levasseur-ua_soft-layering.pdf - Pre-Virtualization: Soft Layering for Virtual Machines],
|
||||
this approach is able to drastically reduce maintenance costs while retaining
|
||||
good performance. Furthermore, the approach was applied not only to Linux
|
||||
running on the L4 kernel but also for using Xen or Linux as underlying
|
||||
|
@ -238,9 +238,8 @@ Usage
|
||||
|
||||
If you haven't build Genode for OKL4 yet, please refer to the following document:
|
||||
|
||||
:[http://genode.org/community/wiki/GenodeOnOKL4 - Genode on OKL4 Wiki page]:
|
||||
This Wiki page contains the information on how to build and use
|
||||
Genode with OKL4.
|
||||
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||
This page contains the information on how to build and use Genode with OKL4.
|
||||
|
||||
For building OKLinux for Genode, you first need to download and patch the
|
||||
original sources. The top-level makefile of the 'oklinux' repository automates
|
||||
|
@ -373,7 +373,7 @@ New ATAPI driver
|
||||
With version 10.08, Genode provides a port of the low level ATA/ATPI driver
|
||||
available from [http://ata-atapi.com]. Currently, the driver supports ATAPI
|
||||
devices only and is implemented as a block-interface server (see Section
|
||||
[Block device interface]). By default, the driver tries to take advantage of
|
||||
[Block session interface]). By default, the driver tries to take advantage of
|
||||
the device's DMA engine but it can also operate in PIO mode as a fall-back
|
||||
solution.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user