genode/repos/os/src/drivers/ahci
Stefan Kalkowski ed52d5a211 Introduce 'spec' subdirectories to outline aspects
Instead of holding SPEC-variable dependent files and directories inline
within the repository structure, move them into 'spec' subdirectories
at the corresponding levels, e.g.:

  repos/base/include/spec
  repos/base/mk/spec
  repos/base/lib/mk/spec
  repos/base/src/core/spec
  ...

Moreover, this commit removes the 'platform' directories. That term was
used in an overloaded sense. All SPEC-relative 'platform' directories are
now named 'spec'. Other files, like for instance those related to the
kernel/architecture specific startup library, where moved from 'platform'
directories to explicit, more meaningful places like e.g.: 'src/lib/startup'.

Fix #1673
2015-09-16 13:58:50 +02:00
..
spec Introduce 'spec' subdirectories to outline aspects 2015-09-16 13:58:50 +02:00
ahci.cc ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
ahci.h ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
ata_driver.h ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
atapi_driver.h ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
main.cc ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
README ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00
target.mk ahci: new AHCI driver implementation 2015-05-20 17:52:58 +02:00

This directory contains the implementation of Genode's AHCI driver

Behavior
--------

The driver supports x86 32/64 bit platforms and the Exynos5 SOC. If
more than one AHCI controller is present, the first one will be used.
Each active device on each AHCI port will be represented by a Genode
block session. The server must be configured via a policy, that states
which client can access a certain device:


!<start name="ahci">
!  <binary name="ahci_drv" />
!  <resource name="RAM" quantum="10M" />
!  <provides><service name="Block" /></provides> }
!  <route>
!    <any-service> <parent /> <any-child /> </any-service>
!  </route>
!  <config>
!    <policy label="test-ahci" device="0" />
!    <policy label="bench" device="1" />
!  </config>
!</start>

In the example above, a session request labeled with "test-ahci"
gains access to device 0, while "bench" gains access to device 1.