genode/os/src/drivers/ahci
Stefan Kalkowski 6a076ff621 block: use new server framework in block drivers
As a side effect, the entrypoints in the USB driver are merged into one thread.

Fixes #1027
2014-01-27 18:53:52 +01:00
..
exynos5 block: extend generic driver API (Ref #750) 2013-12-19 11:34:04 +01:00
include block: extend generic driver API (Ref #750) 2013-12-19 11:34:04 +01:00
x86 os: initial preparation for 64Bit AHCI support 2013-11-26 16:50:52 +01:00
empty.cc ahci_drv: separate PCI specifics from the rest 2013-05-22 18:32:05 +02:00
main.cc block: use new server framework in block drivers 2014-01-27 18:53:52 +01:00
README Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
target.mk block: use new server framework in block drivers 2014-01-27 18:53:52 +01:00

This directory contains an implementation of a simple AHCI driver.

Behavior
--------

The server implements Genode's new block-driver API ('os/include/block'), thus
exposing the block-session interface as front-end. AHCI depends on Genode's PCI
driver as well as the timer server. For a usage example see: 'os/run/ahci.run'.

Limitations and known issues
----------------------------

Currently, the server scans the PCI bus at startup and retrieves the first available
AHCI controller, scans the controller ports and uses the first non-ATAPI port
where a device is present.

On real hardware and on kernels taking advantage of I/O APICs (namely NOVA and
Fiasco.OC) we still lack support for ACPI parsing and thus for interrupts,
leading to a non-working driver.