From 41be88667f26140c7234b647ae458ea07a2e7c04 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Fri, 28 Aug 2015 15:33:41 +0200 Subject: [PATCH] doc: update components, porting guide, README --- doc/components.txt | 39 ++++++++++++++++++++------------------- doc/porting_guide.txt | 8 ++++---- repos/README | 13 ++++++------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/components.txt b/doc/components.txt index 1f19bab42..2b19bb696 100644 --- a/doc/components.txt +++ b/doc/components.txt @@ -28,7 +28,7 @@ of them is briefly characterized as follows: via core's IO_MEM, IO_PORT, and IRQ services. The functionality of the driver is made available to other system components by announcing one of Genode's device-independent session interfaces, which are - 'pci_session', 'framebuffer_session', 'input_session', 'block_session', + 'platform_session', 'framebuffer_session', 'input_session', 'block_session', 'audio_out_session', 'log_session', 'nic_session', and 'timer_session' (see 'os/include/' for the interface definitions). Those interfaces are uniform across hardware platforms and kernel base platforms. Usually, @@ -67,20 +67,17 @@ repositories. The most predominant repositories hosting device drivers are Platform devices ================ -:'os/src/drivers/platform/': Platform drivers for various ARM boards. - -:'os/src/drivers/pci': - Implements the PCI-session interface using the PCI controller as found on - x86 PC hardware. Using this interface, a client can probe for a particular - device and request information about physical device resources (using the - 'pci_device' interface). I/O resources for MMIO regions, I/O ports, and - interrupts can be requested by the provided PCI device abstraction. +:'os/src/drivers/platform/': Platform drivers for various platforms. + On x86, the platform driver uses the PCI controller as found on x86 PC + hardware. A client can probe for a particular device and request information + about physical device resources (using the 'platform_device' interface). I/O + resources for MMIO regions, I/O ports, and interrupts can be requested by the + provided device abstraction. :'os/src/drivers/acpi': On x86 platforms that use the APIC (namely Fiasco.OC, NOVA, and hw_x86_64) - this simple ACPI parser traverses the ACPI tables and updates interrupt line - information of PCI devices within the PCI config space. It uses the pci_drv as - a utility started as a child and exports its interface. + this simple ACPI parser traverses the ACPI tables and reports device-resource + information (e.g., interrupt lines of PCI devices). UART devices @@ -180,16 +177,17 @@ provided by the kernel, or a pseudo time source (busy): :'linux': nanosleep as time source -Audio output drivers -==================== +Audio drivers +============= -All audio-output drivers implement the audio session interface defined at -'os/include/audio_out_session/'. +Audio drivers implement the Audio_out session interface defined at +'os/include/audio_out_session/' for playback and optionally the audio_in +interface for recording. -:'os/src/drivers/audio_out/linux': - Uses ALSA as back-end on the Linux base platform. +:'os/src/drivers/audio/linux': + Uses ALSA as back-end on the Linux base platform and supports only playback. -:'dde_bsd/src/drivers/audio_out': +:'dde_bsd/src/drivers/audio': Sound drivers ported from OpenBSD. Currently, the repository includes support for Intel HD Audio as well as for Ensoniq AudioPCI (ES1370) compatible sound cards. @@ -262,6 +260,9 @@ General-purpose I/O drivers :'os/src/drivers/gpio/imx53': Driver for accessing the GPIO pins of i.MX53 platforms. +:'os/src/drivers/gpio/rpi': + Driver for accessing the GPIO pins of Raspberry Pi platforms. + Resource multiplexers ##################### diff --git a/doc/porting_guide.txt b/doc/porting_guide.txt index e92d75a55..4f4ecabac 100644 --- a/doc/porting_guide.txt +++ b/doc/porting_guide.txt @@ -396,7 +396,7 @@ at _ports/run/dosbox.run_. First, we specify the components that need to be built ! set build_components { -! core init drivers/audio_out drivers/framebuffer drivers/input +! core init drivers/audio drivers/framebuffer drivers/input ! drivers/pci drivers/timer server/tar_fs app/dosbox ! } ! build $build_components @@ -429,7 +429,7 @@ Nextm we provide the scenario's configuration 'config': ! ! ! -! +! ! } ! ! @@ -466,7 +466,7 @@ components and application of the scenario, including DosBox. Thereafter we declare all boot modules: ! set boot_modules { -! core init timer audio_out_drv fb_drv ps2_drv ld.lib.so +! core init timer audio_drv fb_drv ps2_drv ld.lib.so ! libc.lib.so libm.lib.so ! lwip.lib.so libpng.lib.so stdcxx.lib.so sdl.lib.so ! pthread.lib.so zlib.lib.so dosbox dosbox.tar @@ -1137,7 +1137,7 @@ Even though Genode encourages writing native device drivers, this task sometimes becomes infeasible. Especially if there is no documentation available for a certain device or if there are not enough programming resources at hand to implement a fully fledged driver. Examples of ported drivers can be found in -the 'dde_linux', 'dde_oss', and 'dde_ipxe' repositories. +the 'dde_linux', 'dde_bsd', and 'dde_ipxe' repositories. In this chapter we will exemplary discuss how to port a Linux driver for an ARM based SoC to Genode. The goal is to execute driver code in user land directly on diff --git a/repos/README b/repos/README index 9283c39dd..03b7e3e25 100644 --- a/repos/README +++ b/repos/README @@ -61,10 +61,9 @@ but build upon of each other: Codezero microkernel developed by B-Labs See [http://genode.org/documentation/platforms/codezero] - :'host': - Pseudo platform documenting the interface between the generic and - platform-specific parts of the base framework. This is not a functional - base platform. + :'sel4': + seL4 microkernel developed at NICTA/General Dynamics + See[https://sel4.systems/] :'os': @@ -102,10 +101,10 @@ but build upon of each other: This source-code repository contains the device-driver environment for executing drivers of the iPXE project. -:'dde_oss': +:'dde_bsd': - This source-code repository contains the device-driver environment for the - audio drivers of the Open Sound System (OSS). + This source-code repository contains the device-driver environment for + drivers of the OpenBSD operating system. :'dde_rump':