My Project
Chargement...
Recherche...
Aucune correspondance
Classes | Définitions de type | Fonctions
Référence du fichier pci.h
#include <manux/config.h>
#include <manux/types.h>
Graphe des dépendances par inclusion de pci.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Classes

struct  _PCIEquipement
 : structure permettant d'identifier un équipement PCI Plus de détails...
 
struct  _PCIEquipement::_PCIConfigAddress
 

Définitions de type

typedef struct _PCIEquipement PCIEquipement
 : structure permettant d'identifier un équipement PCI
 

Fonctions

void PCIEnumerationDesEquipements (void)
 : recherche des équipements PCI disponibles
 
int PCIObtenirProchainEquipement (uint16_t vendeur, uint16_t equipement, int precedent)
 : récuperer l'identifiant du prochain équipement PCI
 
PCIEquipement * PCIEquipementNumero (int n)
 
uint8_t PCILireOctet (uint8_t bus, uint8_t slot, uint8_t fonction, uint8_t offset)
 
uint16_t PCILireMot (uint8_t bus, uint8_t slot, uint8_t fonction, uint8_t offset)
 
uint32_t PCILireLong (uint8_t bus, uint8_t slot, uint8_t fonction, uint8_t offset)
 : Lecture d'un mot sur le registre de config du PCI
 

Description détaillée

(C) Manu Chaput 2021-2022

Définition dans le fichier pci.h.

Documentation des définitions de type

◆ PCIEquipement

typedef struct _PCIEquipement PCIEquipement

: structure permettant d'identifier un équipement PCI

Documentation des fonctions

◆ PCIEnumerationDesEquipements()

void PCIEnumerationDesEquipements ( void  )

: recherche des équipements PCI disponibles

On recherche les équipements sur un seul bus pour le moment

Définition à la ligne 180 du fichier pci.c.

◆ PCIEquipementNumero()

PCIEquipement * PCIEquipementNumero ( int  n)

Obtention d'un pointeur vers une srtucture qui caractérise un équipement PCI. Attention, aucune allocation/copie n'est faite, il ne faut donc pas le modifier ni le détuire.

Définition à la ligne 226 du fichier pci.c.

◆ PCILireLong()

uint32_t PCILireLong ( uint8_t  bus,
uint8_t  slot,
uint8_t  fonction,
uint8_t  offset 
)

: Lecture d'un mot sur le registre de config du PCI

Les registres sont organisés comme décrits par exemple dans https://en.wikipedia.org/wiki/PCI_configuration_space#Standardized_registers

On a donc un offset qui nous dit quel long aller chercher puis éventuellement, via ses 2 bits de poids faible quel mot voire quel octet. Ce denier "niveau d'adressage" est fait par un masque (Et puisque les registres sont alignés sur 32 bits, on lit systématiquement un long à l'offset privé de ces deux bits)

Définition à la ligne 75 du fichier pci.c.

◆ PCILireMot()

uint16_t PCILireMot ( uint8_t  bus,
uint8_t  slot,
uint8_t  fonction,
uint8_t  offset 
)

Définition à la ligne 93 du fichier pci.c.

◆ PCILireOctet()

uint8_t PCILireOctet ( uint8_t  bus,
uint8_t  slot,
uint8_t  fonction,
uint8_t  offset 
)

Définition à la ligne 106 du fichier pci.c.

◆ PCIObtenirProchainEquipement()

int PCIObtenirProchainEquipement ( uint16_t  vendeur,
uint16_t  equipement,
int  precedent 
)

: récuperer l'identifiant du prochain équipement PCI

Paramètres
precedent : indice du précendent (-1 pour chercher le premier)
Renvoie
: indice >= 0 si un équipement trouvé, -1 sinon

WARNING remplacer les deux fonctions suivantes par une seule qui renvoie directement un pointeur.

Paramètres
precedent : indice du précédent (-1 pour chercher le premier)
Renvoie
: indice >= 0 si un équipement trouvé, -1 sinon

Définition à la ligne 206 du fichier pci.c.