나는 PCI BAR0을 통해 FPGA 메모리에 액세스해야하는 프로젝트에서 일하고 있습니다 사용자 공간. 내가 나이가 커널에서 수행하는 데 사용 무엇리눅스 커널 4.7 (아치 ARM64)은 PCI BAR0을 위해/sys/bus/pci/devices/* /에 "resource0"파일을 만들지 않습니다
는 /SYS/버스/PCI/장치/my_device/에있는 다음을 노출하는 의 mmap() 기능을 사용한다 resource0라는 이름의 파일 열려 FPGA 메모리를 사용자 공간에 할당합니다.
커널 버전 4.7 (아키텍처 ARM64)에서는 resource0 파일이 생성되지 않은 것으로 보입니다.
lspci을 사용하면 시스템이 FPGA의 PCI BAR을 인식하는 것을 알 수 있습니다. 또한 /sys/bus/pci/devices/my_device/ 디렉토리를 검색하면 리소스이라는 파일이 있으며 여기에 쓰여진 PCI BAR의 주소가 있음을 알 수 있습니다.
비슷한 상황에 익숙한 사람이 있습니까? 어떻게하면 리눅스가 리소스 0 파일을 만들 수 있습니까?
아마도 이전 커널은 32 비트 였을 것입니까? –