1/1
pci driver kernel panic
by pillar2012 on Apr 24, 2009 |
pillar2012
Posts: 1 Joined: Jul 22, 2008 Last seen: Oct 8, 2012 |
||
Hello,
I am currently using the pci bridge core for a research project that I am doing. The design that I am currently testing to make sure the bridge works correctly is a simple wishbone slave bram. I have verified this functionality with icarus verilog and gtkwave. I have already configured my FPGA PCI development board that I am using and I am able to see the bridge's configuration space by using lspci -x. Here is the output for the bridge:
04:00.0 Bridge: Unknown device 1895:0001 (rev 01)
00: 95 18 01 00 07 00 80 02 01 00 80 06 10 20 00 00
10: 00 10 10 90 00 00 10 90 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 95 18 01 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 08 1a
However, when I go to read or write the file descriptor returned from opening up the /dev/pci_bridge device node that I created I am getting kernel oopses for the functions memcpy_toio and memcpy_fromio for writing an reading, respectively. I am currently using the pci device driver that Paolo Prete wrote (this is the only driver that I know that works with 2.6.x kernels -- that is what the file says at least -- whereas the drivers that come with pci project are for 2.2 or 2.4 kernels)
since I the kernel I am using for this board is 2.6.24-23-rt (Ubuntu).
Here is the relevant portion of dmesg showing the error (with some other print statements that I compiled into the module):
[ 6489.308282] base: 90100000
[ 6489.308393] remapped memory: ED8000
[ 6489.308468] CURR_RES = 1
[ 6489.308800] Unable to handle kernel paging request at 0000000000ed8000 RIP:
[ 6489.308810] [] __memcpy_fromio+0x9/0x20
[ 6489.308826] PGD 51856067 PUD 51824067 PMD 0
[ 6489.308835] Oops: 0000 [6] PREEMPT SMP
[ 6489.308844] CPU 2
...
...
...
Has anyone verified their design using the pci bridge in hardware? Does anyone have any insight to why I might be getting this error? From what I have read about device drivers and looking over the code, I haven't been able to find the culprit.
Any suggestions of what I should try are also very welcome.
Thank you in advance for anyone's help!
Newell
|
1/1