Je voudrais allouer de la mémoire pour un transfert dma entre un périphérique PCI et la RAM. J'utilise la fonction suivante pour allouer de la mémoire:Mémoire DMA (2 premiers Go)
pci_alloc_consistent
Je veux allouer de la mémoire sous 2GB. Sinon, le périphérique pci échoue. Mais cette fonction fournit n'importe quelle adresse de mon RAM (4 Go). Y a-t-il une solution?
BR
Je pense que vous semblez trop technique, et quelque chose comme "le changement devrait être fait dans la partie PCI du pilote en question" devrait être ajouté. – 0andriy
@AndyShevchenko, j'ai ajouté un paragraphe sur l'endroit où appeler les fonctions. Désolé de paraître "trop technique". Je l'ai ciblé sur un public un peu technique - si le public écrit du code pour effectuer des transferts DMA, cela compte comme "un peu technique" dans mon livre! –
Je ne sais pas combien de temps vous êtes ici à SO (a-ha, moins d'un an), mais d'après mon expérience, je pourrais dire qu'ici beaucoup de gens ont programmé pour la première fois dans l'environnement du noyau Linux. Et parfois c'est un fardeau pour obtenir cette personne ne sait pas beaucoup après quelques commentaires de ping-pong ... On dirait que SO a un manque de moteur de bonne supposition pour rechercher des doublons (ou du moins je ne sais pas) depuis trop d'entre eux ont souvent posé des questions similaires encore et encore. – 0andriy