NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
hostahci.cc File Reference

Host AHCI driver. More...

#include "nul/motherboard.h"
#include "host/hostgenericata.h"
#include "host/hostpci.h"

Classes

union  HostAhciPortRegister
 The register set of an AHCI port. More...
struct  HostAhciRegister
 The register set of an AHCI controller. More...
class  HostAhciPort
 A single AHCI port with its command list and receive FIS buffer. More...
class  HostAhci
 A simple driver for AHCI. More...

Macros

#define check3(X)   { unsigned __res = X; if (__res) return __res; }
#define UC(x)   static_cast<unsigned char>(x)

Functions

 PARAM_HANDLER (hostahci,"hostahci:mask - provide a hostdriver for all AHCI controller.","Example: Use 'hostahci:5' to have a driver for the first and third AHCI controller.","The mask allows to ignore certain controllers. The default is to use all controllers.")

Detailed Description

Host AHCI driver.

Copyright (C) 2008, Bernhard Kauer bk@vm.nosp@m.mon..nosp@m.org Economic rights: Technische Universitaet Dresden (Germany)

This file is part of Vancouver.

Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details.

Macro Definition Documentation

#define check3 (   X)    { unsigned __res = X; if (__res) return __res; }
#define UC (   x)    static_cast<unsigned char>(x)

Function Documentation

PARAM_HANDLER ( hostahci  ,
"hostahci:mask - provide a hostdriver for all AHCI controller."  ,
"Example: Use 'hostahci:5' to have a driver for the first and third AHCI controller."  ,
"The mask allows to ignore certain controllers. The default is to use all controllers."   
)