libce
Libreria di Calcolatori Elettronici
Caricamento in corso...
Ricerca in corso...
Nessun risultato

namespace per le risorse legate all'hard disk Continua...

Tipi enumerati (enum)

enum  cmd { WRITE_SECT = 0x30 , READ_SECT = 0x20 , WRITE_DMA = 0xCA , READ_DMA = 0xC8 }
 Possibili valori da scrivere nel registro di comando dell'hard disk. Continua...
 

Funzioni

void ack ()
 Azione di risposta alla richiesta di interruzione dell'interfaccia dell'hard disk.
 
void disable_intr ()
 Disabilita l'interfaccia dell'hard disk a generare richieste di interruzione.
 
void enable_intr ()
 Abilita l'interfaccia dell'hard disk a generare richieste di interruzione.
 
void set_lba (natl lba)
 Scompone un Logical Block Address e lo scrive in SNR, CNL, CNH e HND.
 
void start_cmd (natl lba, natb quanti, cmd cmd)
 Avvia una operazione sull'hard disk.
 
void wait_for_br ()
 Attende che il registro BR sia disponibile.
 
void output_sect (natb *buf)
 Scrive un settore nel buffer interno dell'interfaccia dell'hard disk.
 
void input_sect (natb *buf)
 Legge un settore dal buffer interno dell'interfaccia dell'hard disk.
 

Variabili

registri del controllore ATA (primario)
const ioaddr iBR = 0x01F0
 Buffer Register.
 
const ioaddr iERR = 0x01F1
 Error Register.
 
const ioaddr iSCR = 0x01F2
 Sector Count Register.
 
const ioaddr iSNR = 0x01F3
 Sector Number Register.
 
const ioaddr iCNL = 0x01F4
 Cylinder Number Low.
 
const ioaddr iCNH = 0x01F5
 Cylinder Number High.
 
const ioaddr iHND = 0x01F6
 Head Number and Device.
 
const ioaddr iCMD = 0x01F7
 Command Register.
 
const ioaddr iSTS = 0x01F7
 Status Register.
 
const ioaddr iDCR = 0x03F6
 Device Control Register.
 
const ioaddr iASR = 0x03F6
 Alternate Status Register.
 

Descrizione dettagliata

namespace per le risorse legate all'hard disk

Documentazione dei tipi enumerati

◆ cmd

enum hd::cmd

Possibili valori da scrivere nel registro di comando dell'hard disk.

Valori del tipo enumerato
WRITE_SECT 

scrittura di settori

READ_SECT 

lettura di settori

WRITE_DMA 

scrittura di settori in DMA

READ_DMA 

lettura di settori in DMA

Definizione alla linea 733 del file libce.h.

Documentazione delle funzioni

◆ input_sect()

void hd::input_sect ( natb * buf)

Legge un settore dal buffer interno dell'interfaccia dell'hard disk.

Parametri
bufbuffer che dovrà ricevere il settore

◆ output_sect()

void hd::output_sect ( natb * buf)

Scrive un settore nel buffer interno dell'interfaccia dell'hard disk.

Parametri
bufbuffer contenente il settore da scrivere

◆ start_cmd()

void hd::start_cmd ( natl lba,
natb quanti,
cmd cmd )

Avvia una operazione sull'hard disk.

Parametri
lbalogical block address del primo settore
quantinumero di settori
cmdcodice del comando

Definizione alla linea 5 del file start_cmd.cpp.

Questo è il grafo delle chiamate per questa funzione: