PKUOS - Pintos
Pintos source browser for PKU Operating System course
|
An ATA channel (aka controller). More...
Data Fields | |
char | name [8] |
Name, e.g. More... | |
uint16_t | reg_base |
Base I/O port. More... | |
uint8_t | irq |
Interrupt in use. More... | |
struct lock | lock |
Must acquire to access the controller. More... | |
bool | expecting_interrupt |
True if an interrupt is expected, false if any interrupt would be spurious. More... | |
struct semaphore | completion_wait |
Up'd by interrupt handler. More... | |
struct ata_disk | devices [2] |
The devices on this channel. More... | |
An ATA channel (aka controller).
Each channel can control up to two disks.
struct semaphore channel::completion_wait |
Up'd by interrupt handler.
Definition at line 73 of file ide.c.
Referenced by ide_init(), ide_read(), ide_write(), identify_ata_device(), and interrupt_handler().
struct ata_disk channel::devices[2] |
The devices on this channel.
Definition at line 75 of file ide.c.
Referenced by ide_init(), and reset_channel().
bool channel::expecting_interrupt |
True if an interrupt is expected, false if any interrupt would be spurious.
Definition at line 71 of file ide.c.
Referenced by ide_init(), interrupt_handler(), and issue_pio_command().
uint8_t channel::irq |
Interrupt in use.
Definition at line 68 of file ide.c.
Referenced by ide_init(), and interrupt_handler().
struct lock channel::lock |
Must acquire to access the controller.
Definition at line 70 of file ide.c.
Referenced by ide_init(), ide_read(), and ide_write().
char channel::name[8] |
Name, e.g.
"ide0".
Definition at line 66 of file ide.c.
Referenced by ide_init(), and interrupt_handler().
uint16_t channel::reg_base |