Re: UIO Kernel Driver with Buildroot and QEMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> I'm on linux kernel version 3.14, and I followed the guide here:
>>
>> https://www.kernel.org/doc/htmldocs/uio-howto/userspace_driver.html
>>
>> And it describes the location on where the device file that should be
>> opened by userland code as either one of two locations:
>>
>> /dev/uioX, with X being a number
>>
>> or /sys/class/uio/uioX
>>
>> But the each of following returns nothing:
>>
>> ls /dev/uio*
>> ls /sys/class/uio/
>>
>> After I compile the uio example that is provided in the linux source at
>> source/drivers/uio/uio.c and uio_dmem_genirq.c, and insmod them, I do
>> modprobe uio and modprobe uio_dmem_genirq and each of those return nothing.
>> However, I do see that /sys/modules/uio and /sys/modules/uio_dmem_genirq

Have a look at this sample driver I wrote sometime back to trigger a UIO issue:

https://github.com/mandeepsandhu/uio-hotplug-test

I have not had the time to look at where it differs from your
implemntation, but I'll leave that to you to figure out :)

This create the /devuioX device file which the userspace code is opening.

HTH,
-mandeep


>>
>>
>> What am I doing wrong? Or where are the respective device files that I'm
>> supposed to use in my userland driver process?
>>
>> int fd = open("where is it!!?");
>> mmap(...., fd,..);
>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux