Linux PCI driver.
Hey Guys Im writing a PCI driver in Linux ( Lubuntu ). Now its not an entire driver its really just a little program that will latch onto a space of ram and dump the entire content of the ram into a file. I have done this before in a Unix/Linux based OS and it took me quite a while to figure it out. So at startup the configuration for the PCI is already done so I wont have to do any of that myself. I really just need to set a pointer to a register. My problem is that I cant find the functions to do that for linux. I cant find similar functions to things like : PCI_ATTACH() pci_attach_device(); mmap_device_memory(); I think that is really all I need at the moment. Anybody have some ideas of where I can start looking? Thanks and regards.
On Mon, Aug 18, 2014 at 09:50:44AM +0200, testlaster wrote:
Hey Guys
Im writing a PCI driver in Linux ( Lubuntu ). Now its not an entire driver its really just a little program that will latch onto a space of ram and dump the entire content of the ram into a file. I have done this before in a Unix/Linux based OS and it took me quite a while to figure it out.
So at startup the configuration for the PCI is already done so I wont have to do any of that myself. I really just need to set a pointer to a register.
My problem is that I cant find the functions to do that for linux. I cant find similar functions to things like : PCI_ATTACH() pci_attach_device(); mmap_device_memory();
I think that is really all I need at the moment. Anybody have some ideas of where I can start looking?
Have you read the book, Linux Device Drivers, 3rd edition, it's free online and has a whole chapter on PCI that should answer these questions for you. If not, please feel free to post your code and we will be glad to review it. thanks, greg k-h
Hi Greg Yes I have read the book and some of it does make sense to me. What doesnt make sense though is that my pci.h file that I have found /include/linux only has like 30 lines max? None of the functions in the book are in the header. Thanks Testo On 8/18/2014 10:35 AM, Greg KH wrote:
On Mon, Aug 18, 2014 at 09:50:44AM +0200, testlaster wrote:
Hey Guys
Im writing a PCI driver in Linux ( Lubuntu ). Now its not an entire driver its really just a little program that will latch onto a space of ram and dump the entire content of the ram into a file. I have done this before in a Unix/Linux based OS and it took me quite a while to figure it out.
So at startup the configuration for the PCI is already done so I wont have to do any of that myself. I really just need to set a pointer to a register.
My problem is that I cant find the functions to do that for linux. I cant find similar functions to things like : PCI_ATTACH() pci_attach_device(); mmap_device_memory();
I think that is really all I need at the moment. Anybody have some ideas of where I can start looking? Have you read the book, Linux Device Drivers, 3rd edition, it's free online and has a whole chapter on PCI that should answer these questions for you.
If not, please feel free to post your code and we will be glad to review it.
thanks,
greg k-h
On Mon, Aug 18, 2014 at 02:30:33PM +0200, testlaster wrote:
Hi Greg
Yes I have read the book and some of it does make sense to me.
What doesnt make sense though is that my pci.h file that I have found /include/linux only has like 30 lines max?
$ wc include/linux/pci.h 1832 7982 65670 include/linux/pci.h are you sure you are looking at the kernel source tree?
None of the functions in the book are in the header.
Then I don't think you are looking at kernel source, but perhaps the header file for libpci in userspace? good luck, greg k-h
I think you are right Greg I eventually after looking for alternative header folders I found one here that seems to be more in the line of what I am looking for . /usr/src/linux-header-3.13.0-32-generic/include/linux/pc.h . This should work right? On 8/18/2014 2:33 PM, Greg KH wrote:
On Mon, Aug 18, 2014 at 02:30:33PM +0200, testlaster wrote:
Hi Greg
Yes I have read the book and some of it does make sense to me.
What doesnt make sense though is that my pci.h file that I have found /include/linux only has like 30 lines max? $ wc include/linux/pci.h 1832 7982 65670 include/linux/pci.h
are you sure you are looking at the kernel source tree?
None of the functions in the book are in the header. Then I don't think you are looking at kernel source, but perhaps the header file for libpci in userspace?
good luck,
greg k-h
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (2)
-
Greg KH -
testlaster