|
NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
A single AHCI port with its command list and receive FIS buffer. More...
Public Member Functions | |
| unsigned | init (unsigned short *buffer) |
| Initialize the port. | |
| void | debug () |
| void | irq () |
| bool | receive (MessageDisk &msg) |
| HostAhciPort (HostAhciPortRegister *regs, DBus< MessageHostOp > &bus_hostop, DBus< MessageDiskCommit > &bus_commit, Clock *clock, unsigned disknr, unsigned max_slots, bool dmar) | |
Public Member Functions inherited from StaticReceiver< HostAhciPort > | |
| StaticReceiver () | |
Public Member Functions inherited from Device | |
| void | debug_dump () |
| Device (const char *debug_name) | |
Private Member Functions | |
| unsigned | wait_timeout (volatile unsigned *reg, unsigned mask, unsigned value) |
| void | addr2phys (void *ptr, volatile unsigned *dst) |
| Translate a virtual to a physical address. | |
| void | set_command (unsigned char command, unsigned long long sector, bool read, unsigned count=0, bool atapi=false, unsigned pmp=0, unsigned features=0) |
| bool | add_dma (char *ptr, unsigned count) |
| bool | add_prd (void *buffer, unsigned count) |
| unsigned | start_command (unsigned long usertag) |
| unsigned | identify_drive (unsigned short *buffer) |
| unsigned | set_features (unsigned features, unsigned count=0) |
Private Attributes | |
| HostAhciPortRegister volatile * | _regs |
| DBus< MessageHostOp > & | _bus_hostop |
| DBus< MessageDiskCommit > & | _bus_commit |
| Clock * | _clock |
| unsigned | _disknr |
| unsigned | _max_slots |
| bool | _dmar |
| unsigned * | _cl |
| unsigned * | _ct |
| unsigned * | _fis |
| unsigned | _tag |
| HostGenericAta | _params |
| unsigned long | _usertags [32] |
| unsigned | _inprogress |
Static Private Attributes | |
| static const unsigned | CL_DWORDS = 8 |
| static const unsigned | MAX_PRD_COUNT = 64 |
| static unsigned const | FREQ = 1000 |
| static unsigned const | TIMEOUT = 200 |
Additional Inherited Members | |
Static Public Member Functions inherited from StaticReceiver< HostAhciPort > | |
| static bool | receive_static (Device *o, M &msg) |
A single AHCI port with its command list and receive FIS buffer.
State: testing Supports: read-sectors, write-sectors, identify-drive Missing: ATAPI detection
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Translate a virtual to a physical address.
|
inline |
|
inlineprivate |
|
inline |
Initialize the port.
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |