NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
A simple IDE host driver. More...
Public Member Functions | |
unsigned | disk_count () |
bool | receive (MessageDisk &msg) |
HostIde (DBus< MessageHwIOIn > &bus_hwioin, DBus< MessageHwIOOut > &bus_hwioout, DBus< MessageDiskCommit > &bus_commit, unsigned disknr, unsigned short iobase, unsigned short iobase_ctrl, Clock *clock) | |
Public Member Functions inherited from StaticReceiver< HostIde > | |
StaticReceiver () | |
Public Member Functions inherited from Device | |
void | debug_dump () |
Device (const char *debug_name) |
Private Member Functions | |
unsigned | wait_disk_state (unsigned char mask, unsigned char value, unsigned msec, bool check_error) |
Wait with timeout for the right disk state. | |
unsigned | send_packet (unsigned char *packet) |
unsigned | ata_command (unsigned char *packet, void *output, unsigned outlen, bool read) __attribute__((noinline)) |
Send a packet to the ata controller. | |
bool | make_sector_packets (HostGenericAta ¶ms, unsigned char *packets, unsigned char command, unsigned long long sector, unsigned count) |
Initialize packets for a single sector LBA function. | |
unsigned | identify_drive (unsigned short *buffer, HostGenericAta ¶ms, bool slave) |
Private Attributes | |
DBus< MessageDiskCommit > & | _bus_commit |
unsigned | _disknr |
unsigned short | _iobase |
unsigned short | _iobase_ctrl |
HostGenericAta | _params [2] |
Clock * | _clock |
unsigned | _disk_count |
Static Private Attributes | |
static unsigned const | FREQ = 1000 |
Additional Inherited Members | |
Static Public Member Functions inherited from StaticReceiver< HostIde > | |
static bool | receive_static (Device *o, M &msg) |
A simple IDE host driver.
State: testing Features: lba28, lba48, PIO Missing: dma, IRQ
|
inline |
|
inlineprivate |
Send a packet to the ata controller.
|
inline |
|
inlineprivate |
|
inlineprivate |
Initialize packets for a single sector LBA function.
|
inline |
|
inlineprivate |
|
inlineprivate |
Wait with timeout for the right disk state.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |