PKUOS - Pintos
Pintos source browser for PKU Operating System course
Data Fields
channel Struct Reference

An ATA channel (aka controller). More...

Collaboration diagram for channel:
Collaboration graph
[legend]

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...
 

Detailed Description

An ATA channel (aka controller).

Each channel can control up to two disks.

Definition at line 64 of file ide.c.

Field Documentation

◆ completion_wait

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().

◆ devices

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().

◆ expecting_interrupt

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().

◆ irq

uint8_t channel::irq

Interrupt in use.

Definition at line 68 of file ide.c.

Referenced by ide_init(), and interrupt_handler().

◆ lock

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().

◆ name

char channel::name[8]

Name, e.g.

"ide0".

Definition at line 66 of file ide.c.

Referenced by ide_init(), and interrupt_handler().

◆ reg_base

uint16_t channel::reg_base

Base I/O port.

Definition at line 67 of file ide.c.

Referenced by ide_init().


The documentation for this struct was generated from the following file: