mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-29 18:18:54 +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
|
capability types ('Typed_capability' in 'base/typed_capability.h') and
|
||||||
the convention that each RPC interface declares a dedicated capability
|
the convention that each RPC interface declares a dedicated capability
|
||||||
type. Note that type-safety is not maintained across RPC interfaces. As
|
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'
|
object-framework level on the server side and via in the 'Connection'
|
||||||
classes at the client side.
|
classes at the client side.
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ would have to be queued at the transmitter.
|
|||||||
|
|
||||||
[image signals]
|
[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.
|
transmitter, receiver, and signal-handler thread.
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Asynchronous_notifications - See the new API documentation for asynchronous notifications...]
|
[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
|
We applied capability typification to all interfaces of Genode including
|
||||||
the base API and the interfaces defined in the 'os' repository. Figure
|
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.
|
provided by the base API.
|
||||||
|
|
||||||
[image base_cap_types]
|
[image base_cap_types]
|
||||||
@ -442,7 +442,7 @@ FreeBSD in his diploma thesis
|
|||||||
;
|
;
|
||||||
Dirk Vogt successfully re-approached the port of USB device drivers
|
Dirk Vogt successfully re-approached the port of USB device drivers
|
||||||
from the Linux kernel to L4 in his student research project
|
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
|
The current incarnation of the DDE kit API provides the following
|
||||||
features:
|
features:
|
||||||
@ -465,7 +465,7 @@ the synchronization primitives, and the thread API.
|
|||||||
|
|
||||||
[image dde_kit]
|
[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
|
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
|
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
|
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:
|
:Further details:
|
||||||
|
|
||||||
You can find further technical details and usage instructions at our
|
You can find further technical details and usage instructions at this
|
||||||
dedicated [http://genode.org/community/wiki/GenodeOnL4kaPistachio - Wiki page].
|
dedicated [http://genode.org/documentation/platforms/pistachio - page].
|
||||||
|
|
||||||
|
|
||||||
Qt4 on Genode
|
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
|
simplify the Qt4 port. Furthermore, we were able to remove all
|
||||||
platform-specific bits such that the Qt4 port has now become completely
|
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,
|
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
|
shows a screenshot of Qt's Tetrix example running side-by-side with native
|
||||||
Genode applications.
|
Genode applications.
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ Genode applications.
|
|||||||
applications are exceedingly large. For example the Tetrix binary is
|
applications are exceedingly large. For example the Tetrix binary is
|
||||||
100MB including debug information and 11MB in the stripped form. For
|
100MB including debug information and 11MB in the stripped form. For
|
||||||
employing Qt on Genode at a larger scale, Genode should be enhanced with
|
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
|
Networking
|
||||||
|
@ -158,10 +158,10 @@ thoroughly documented the process in
|
|||||||
Usage
|
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]:
|
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||||
Wiki page about building and using Genode with the OKL4 kernel.
|
Site about building and using Genode with the OKL4 kernel.
|
||||||
|
|
||||||
|
|
||||||
Limitations of the current implementation
|
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
|
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
|
drivers. We are grateful for being able to base our implementation on the
|
||||||
excellent foundation laid by Dirk Vogt. He described his work in
|
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
|
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
|
Linux 2.6 framework. Besides the 'dde_linux26/net.h' API for network drivers
|
||||||
@ -321,7 +321,7 @@ implementations.
|
|||||||
|
|
||||||
[image usb_current]
|
[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
|
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
|
USB stack and the device API are executed within one address space. These parts
|
||||||
are
|
are
|
||||||
@ -335,7 +335,7 @@ are
|
|||||||
[image usb_aspired]
|
[image usb_aspired]
|
||||||
|
|
||||||
We regard this as an intermediate step towards our goal to decompose the USB
|
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.
|
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
|
The USB server provides two interfaces called USB session interface and USB
|
||||||
device interface. A USB session interface corresponds to a virtual root hub,
|
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
|
the high costs of maintaining the paravirtualized Linux kernel, a
|
||||||
semiautomatic paravirtualization technique was created. According to the
|
semiautomatic paravirtualization technique was created. According to the
|
||||||
impressive results presented in
|
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
|
this approach is able to drastically reduce maintenance costs while retaining
|
||||||
good performance. Furthermore, the approach was applied not only to Linux
|
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
|
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:
|
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]:
|
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||||
This Wiki page contains the information on how to build and use
|
This page contains the information on how to build and use Genode with OKL4.
|
||||||
Genode with OKL4.
|
|
||||||
|
|
||||||
For building OKLinux for Genode, you first need to download and patch the
|
For building OKLinux for Genode, you first need to download and patch the
|
||||||
original sources. The top-level makefile of the 'oklinux' repository automates
|
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
|
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
|
available from [http://ata-atapi.com]. Currently, the driver supports ATAPI
|
||||||
devices only and is implemented as a block-interface server (see Section
|
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
|
the device's DMA engine but it can also operate in PIO mode as a fall-back
|
||||||
solution.
|
solution.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user