Linux

CentOS 5.3

pcibios_find_device(9)


PCIBIOS_FIND_CLASS

NOM

pcibios_find_class, pcibios_find_device − trouver une classe ou un périphérique PCI

SYNOPSIS

#include <linux/bios32.h>

int pcibios_find_class(unsigned int class_code, unsigned short index, unsigned char* bus, unsigned char* device_fn);

int pcibios_find_device(unsigned short vendor, unsigned short device_id ",unsigned short "index, unsigned char* bus, unsigned char* device_fn);

DESCRIPTION

La fonction pcibios_find_class recherche une classe ou un périphérique PCI particulier sur le bus PCI. class représente une catégorie de périphériques : storage, network, display, et memory. Les classes sont définies par les spécifications du bus PCI. Le class_code est recherché dans le double mot situé à l’adresse 0x08 dans l’espace mémoire de configuration du périphérique.

La fonction pcibios_find_device recherche un périphérique sur le bus PCI qui corresponde aux numéros de périphériques et de vendeur. Les identifications de périphériques sont assignées à la signature PCI. Les vendeurs choisissent eux-même les « numéros d’identité » des périphériques qu’ils développent. Les numéros de vendeur et d’identité du périphérique sont stockés dans le double mot 0x00 dans la mémoire de configuration.

pcibios_find_class et pcibios_find_device possèdent un paramètre supplémentaire index , qui est utilisé pour sélectionner le périphérique indiqué s’il y a plusieurs périphériques trouvés. Un index 0 sélectionne le premier périphérique trouvé, 1 le second, etc.

Les paramètres bus et device_fn sont des cookies spécifiques au PCI et sont passés aux autres fonctions pcibios pour avoir accès à l’espace mémoire de configuration PCI ou le périphérique concerné.

VALEUR RENVOYÃE

En cas de succès, ces fonctions renvoient PCIBIOS_SUCCESSFUL. Sinon, l’un des codes d’erreur suivants est renvoyé :

PCIBIOS_DEVICE_NOT_FOUND

Aucun périphérique ne correspond aux critères de recherche,

PCIBIOS_BAD_VENDOR_ID

Le numéro d’identification du vendeur n’est pas valide (0xffff n’est pas une identification valide).

PCIBIOS_FUNC_NOT_SUPPRTED

Le sous-sytème PCI n’est pas accessible ; il n’existe probablement pas.

DISPONIBILITÃ

Linux 1.0+

VOIR AUSSI

pcibios_present(9)

/usr/include/linux/pci.h, /usr/include/linux/bios32.h

PCI Local Bus Specification

AUTEUR

Kirk Petersen (kirk@speakeasy.org)

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999

BOGUES


pcibios_find_device(9)