nucleo
Nucleo di Calcolatori Elettronici
Caricamento in corso...
Ricerca in corso...
Nessun risultato
Interfacce ATA

Primitive per l'utilizzo dell'hard disk. Continua...

Diagramma di collaborazione per Interfacce ATA:

Topics

 Parti C++/Assembler delle primitive
 

Strutture dati

struct  des_ata
 Descrittore di interfaccia ATA. Continua...
 

Funzioni

bool prepare_prd (des_ata *d, natb *vett, natb quanti)
 Prepara i descrittori per il Bus Mastering.
 
void starthd_in (des_ata *d, natb vetti[], natl primo, natb quanti)
 Avvia una operazione di ingresso dall'hard disk.
 
void starthd_out (des_ata *d, natb vetto[], natl primo, natb quanti)
 Avvia una operazione di uscita verso l'hard disk.
 
void dmastarthd_in (des_ata *d, natb vetti[], natl primo, natb quanti)
 Avvia una operazione di ingresso in DMA dall'hard disk.
 
void dmastarthd_out (des_ata *d, natb vetto[], natl primo, natb quanti)
 Avvia una operazione di uscita in DMA verso l'hard disk.
 
void estern_hd (natq)
 Processo esterno per le richieste di interruzione dell'hard disk.
 
bool hd_init ()
 Inizializza il sottosistema per la gestione dell'hard disk.
 

Variabili

des_ata hard_disk
 Descrittore dell'unico hard disk installato nel sistema.
 
const natb HD_IRQ = 14
 Piedino dell'APIC per le richieste di interruzione dell'hard disk.
 

Descrizione dettagliata

Primitive per l'utilizzo dell'hard disk.

Documentazione delle funzioni

◆ prepare_prd()

bool prepare_prd ( des_ata * d,
natb * vett,
natb quanti )

Prepara i descrittori per il Bus Mastering.

Parametri
ddescrittore dell'hard disk
vettbuffer coinvolto nel trasferimento DMA
quantinumero di settori da trasferire
Restituisce
false se i PRD non sono sufficienti per trasferire tutti i byte richiesti, true altrimenti

Definizione alla linea 341 del file io.cpp.

Questo è il grafo dei chiamanti di questa funzione:

◆ starthd_in()

void starthd_in ( des_ata * d,
natb vetti[],
natl primo,
natb quanti )

Avvia una operazione di ingresso dall'hard disk.

Parametri
ddescrittore dell'hard disk
vettibuffer che dovrà ricevere i settori letti
primoLBA del primo settore da leggere
quantinumero di settori da leggere

Definizione alla linea 370 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

◆ starthd_out()

void starthd_out ( des_ata * d,
natb vetto[],
natl primo,
natb quanti )

Avvia una operazione di uscita verso l'hard disk.

Parametri
ddescrittore dell'hard disk
vettobuffer che contiene i settori da scrivere
primoLBA del primo settore da scrivere
quantinumero di settori da scrivere

Definizione alla linea 411 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

◆ dmastarthd_in()

void dmastarthd_in ( des_ata * d,
natb vetti[],
natl primo,
natb quanti )

Avvia una operazione di ingresso in DMA dall'hard disk.

Parametri
ddescrittore dell'hard disk
vettibuffer che dovrà ricevere i settori letti
primoLBA del primo settore da leggere
quantinumero di settori da leggere

Definizione alla linea 453 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

◆ dmastarthd_out()

void dmastarthd_out ( des_ata * d,
natb vetto[],
natl primo,
natb quanti )

Avvia una operazione di uscita in DMA verso l'hard disk.

Parametri
ddescrittore dell'hard disk
vettobuffer che contiene i settori da scrivere
primoLBA del primo settore da scrivere
quantinumero di settori da scrivere

Definizione alla linea 507 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

◆ estern_hd()

void estern_hd ( natq )

Processo esterno per le richieste di interruzione dell'hard disk.

Definizione alla linea 556 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

◆ hd_init()

bool hd_init ( )

Inizializza il sottosistema per la gestione dell'hard disk.

Restituisce
true in caso di successo, false altrimenti

Definizione alla linea 587 del file io.cpp.

Questo è il grafo delle chiamate per questa funzione:
Questo è il grafo dei chiamanti di questa funzione:

Documentazione delle variabili

◆ hard_disk

des_ata hard_disk

Descrittore dell'unico hard disk installato nel sistema.

Definizione alla linea 328 del file io.cpp.

◆ HD_IRQ

const natb HD_IRQ = 14

Piedino dell'APIC per le richieste di interruzione dell'hard disk.

Definizione alla linea 331 del file io.cpp.