|
My Project
|
#include <manux/config.h>#include <manux/types.h>

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 | |
(C) Manu Chaput 2021-2022
Définition dans le fichier pci.h.
| typedef struct _PCIEquipement PCIEquipement |
: structure permettant d'identifier un équipement PCI
| PCIEquipement * PCIEquipementNumero | ( | int | n | ) |
: 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)
: récuperer l'identifiant du prochain équipement PCI
| precedent : indice du précendent (-1 pour chercher le premier) |
WARNING remplacer les deux fonctions suivantes par une seule qui renvoie directement un pointeur.
| precedent : indice du précédent (-1 pour chercher le premier) |