Domanda

Ho un dispositivo PCI che deve leggere e scrivere dallo spazio per utenti. Sto cercando di usare la copia zero; Esiste un modo per allocare, pin e ottenere l'indirizzo fisico di un indirizzo utenti completamente all'interno dello spazio utenti o devo avere un modulo del kernel che, diciamo, chiama virt_to_phys o get_user_pages? La memoria del dispositivo è mappata nella memoria dello spazio utenti tramite MMIO in modo da poterlo passare tutti i dati necessari. Grazie.

È stato utile?

Soluzione

È stato un hack totale, ma ho limitato Linux a una gamma di memoria e ho usato MMIO per allocare la memoria per il mio dispositivo di cui il kernel non era a conoscenza.

Altri suggerimenti

Fondamentalmente hai bisogno che la memoria sia DMA -ble e per quanto ne so solo un modulo del kernel. Vedere http://lxr.free-electrons.com/source/documentation/pci/pci-dma-mapping.txt

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top