Xen Zynq Distribution Support Forums

Full Version: Error kernel paging request DomU zcu102
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi guys,

I have a problem with DomU in Xen which I ran on ZCU102 board.
So i made a paravirtualized driver to enable FPGA access from DomU. The communication between Dom0 and DomU is done via a ring.
From the DomU, the access to FPGA can be done by opening a character device /dev/mydevice.
However, everytime I called open from userspace (DomU), it gives an error like this:
Code:
[   47.627911] Unable to handle kernel paging request at virtual address 4000200000001
[   47.627939] pgd = ffffffc00d5ad000
[   47.627948] [4000200000001] *pgd=0000000000000000
[   47.627959] , *pud=0000000000000000

[   47.627976] Internal error: Oops: 96000004 [#1] SMP
[   47.627988] Modules linked in: fpga_frontend(O) uio_pdrv_genirq
[   47.628015] CPU: 0 PID: 1847 Comm: fpga_test Tainted: G           O    4.9.0-xilinx-v2017.3 #1
[   47.628031] Hardware name: XENVM-4.8 (DT)
[   47.628041] task: ffffffc00ea62e80 task.stack: ffffffc00df2c000
[   47.628061] PC is at try_module_get+0x4/0xb0
[   47.628075] LR is at cdev_get+0x20/0x60
[   47.628085] pc : [<ffffff8008101d8c>] lr : [<ffffff800818fd40>] pstate: 00000145
[   47.628101] sp : ffffffc00df2fb10
[   47.628111] x29: ffffffc00df2fb10 x28: ffffff800818f848
[   47.628127] x27: 0000000000000000 x26: ffffffc00db39000
[   47.628143] x25: ffffffc00df2fbec x24: 00000000000000f4
[   47.628161] x23: ffffffc00e812800 x22: 000000000f400000
[   47.628178] x21: 0000000000000000 x20: ffffffc00db39000
[   47.628196] x19: 0004000200000001 x18: 0000000000040900
[   47.628212] x17: 0000000000411230 x16: ffffff8008189e60
[   47.628229] x15: 000000000000066b x14: 981060a88830e000
[   47.628245] x13: 0000000000000000 x12: a8c85030f88010e8
[   47.628261] x11: 0000000000000020 x10: d0e0b4bfbd8fa4be
[   47.628278] x9 : b6f390d5b3398e5b x8 : ffffffc00e1bd520
[   47.628295] x7 : 000000000000001f x6 : 0000000000000000
[   47.628312] x5 : ffffffc00e1bd500 x4 : 0000000000001000
[   47.628328] x3 : 0000000000000000 x2 : ffffff800818fd80
[   47.628345] x1 : ffffffc00db39000 x0 : 0004000200000001

[   47.628370] Process fpga_test (pid: 1847, stack limit = 0xffffffc00df2c020)
[   47.628384] Stack: (0xffffffc00df2fb10 to 0xffffffc00df30000)
[   47.628398] fb00:                                   ffffffc00df2fb30 ffffff800818fd90
[   47.628415] fb20: ffffffc00dbe8180 000000000f400000 ffffffc00df2fb40 ffffff800850558c
[   47.628432] fb40: ffffffc00df2fba0 ffffff80081901e4 ffffff8008d65c98 ffffff8008d65000
[   47.628450] fb60: 0000000000000000 ffffffc00db0d558 ffffffc00da7e400 0000000000000000
[   47.628467] fb80: 0000000000000000 0000000000000000 ffffffc00df2fd78 0000000000000000
[   47.628485] fba0: ffffffc00df2fbf0 ffffff80081888f4 ffffffc00da7e400 ffffffc00da7e410
[   47.628503] fbc0: ffffff80081900e8 ffffffc00db0d558 ffffffc00e402600 0000000000000000
[   47.628519] fbe0: ffffffc00da7e400 0000000008197f5c ffffffc00df2fc30 ffffff800818995c
[   47.628535] fc00: ffffffc00da7e400 ffffffc00df2fd78 ffffffc00da7e400 0000000000000006
[   47.628552] fc20: ffffffc00e402600 ffffff800819794c ffffffc00df2fc50 ffffff8008199a18
[   47.628568] fc40: 0000000000020002 0000000000000000 ffffffc00df2fd40 ffffff800819b894
[   47.628584] fc60: 0000000000000003 ffffffc00df2fd78 ffffffc00df2fe98 0000000000000001
[   47.628600] fc80: 0000000080000000 0000000000000015 0000000000000123 0000000000000038
[   47.628616] fca0: ffffff8008962000 ffffffc00df2c000 ffffffc00df2fdf0 0000000000000800
[   47.628632] fcc0: 0000000000000800 0000000000000000 ffffffc00df2fd00 ffffff8008132854
[   47.628648] fce0: ffffffc00df2fe18 ffffffc00df2fd30 ffffffbf00000041 ffffffc00e5e7308
[   47.628664] fd00: ffffffc00df2fdc0 0000000200000000 ffffffc00db0d558 ffffffc00e1bd520
[   47.628680] fd20: ffffffc00e5d9000 0000000013e4a240 ffffffc00df2feb8 0000000000000015
[   47.628697] fd40: ffffffc00df2fe50 ffffff8008189d60 0000000000000003 00000000ffffff9c
[   47.628713] fd60: ffffffc00dccb000 0000007fac2afd58 ffffffc00d438900 ffffffc00e1bd520
[   47.628729] fd80: ffffffc00e5d9000 0000000f83340334 ffffffc00dccb021 0000000000000000
[   47.628745] fda0: ffffffc00e42a240 ffffffc00db0d558 0000000200000101 000000000000004c
[   47.628761] fdc0: 0000000000000000 ffffffc00df2fdd0 ffffffc00df2fe00 ffffff800819a9cc
[   47.628778] fde0: ffffffc00df2fdf0 ffffff80081a93a8 ffffffc00df2fe40 ffffff80081a9508
[   47.628794] fe00: 0000000000020002 00000000ffffff9c ffffffc00dccb000 0000007fac2afd58
[   47.628810] fe20: 0000000080000000 0000000000000015 ffffffc00dccb000 0000000000000000
[   47.628826] fe40: ffffffc00df2fe50 ffffff9c00000002 ffffffc00df2feb0 ffffff8008189e70
[   47.628842] fe60: 0000000000000000 0000007fdaa62e83 ffffffffffffffff 0000007fac2afd58
[   47.628858] fe80: 0000000080000000 0000000000000015 0000000000000000 ffff000000020002
[   47.827776] fea0: 0000010000000006 0000000000000001 0000000000000000 ffffff8008082ef0
[   47.827795] fec0: ffffffffffffff9c 0000007fdaa62e83 0000000000000002 0000000000000000
[   47.827812] fee0: 0000007fac334000 0000000000000001 0000000000411b40 0808f870e868d848
[   47.827830] ff00: 0000000000000038 f0602050180840f8 0101010101010101 0000000000000020
[   47.827848] ff20: a8c85030f88010e8 0000000000000000 981060a88830e000 000000000000066b
[   47.827865] ff40: 0000007fac2afd08 0000000000411230 0000000000040900 0000000000400cd0
[   47.827882] ff60: 0000007fdaa62e83 00000000004008c0 0000000000000000 0000000000000000
[   47.827899] ff80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   47.827917] ffa0: 0000000000000000 0000007fdaa62370 0000000000400bfc 0000007fdaa62370
[   47.827936] ffc0: 0000007fac2afd58 0000000080000000 ffffffffffffff9c 0000000000000038
[   47.827954] ffe0: 0000000000000000 0000000000000000 0000001700000017 0017d01f22022000
[   47.827969] Call trace:
[   47.827979] Exception stack(0xffffffc00df2f940 to 0xffffffc00df2fa70)
[   47.827995] f940: 0004000200000001 0000008000000000 ffffffc00df2fb10 ffffff8008101d8c
[   47.828014] f960: ffffff8008b26550 00000000fffffffb ffffffc00da757e8 ffffffc00da70380
[   47.828032] f980: ffffffc00da740d0 ffffffc00da74008 0000000e0df2fc70 ffffffc00e2516d0
[   47.828049] f9a0: 000000000000000e ffffffc00e251000 ffffffc00da7e400 0000000000000001
[   47.828067] f9c0: 0000000000000000 ffffffc00e340000 ffffffc00e2516d0 0000000e0000036a
[   47.828086] f9e0: 0004000200000001 ffffffc00db39000 ffffff800818fd80 0000000000000000
[   47.828103] fa00: 0000000000001000 ffffffc00e1bd500 0000000000000000 000000000000001f
[   47.828121] fa20: ffffffc00e1bd520 b6f390d5b3398e5b d0e0b4bfbd8fa4be 0000000000000020
[   47.828138] fa40: a8c85030f88010e8 0000000000000000 981060a88830e000 000000000000066b
[   47.828154] fa60: ffffff8008189e60 0000000000411230
[   47.828170] [<ffffff8008101d8c>] try_module_get+0x4/0xb0
[   47.828185] [<ffffff800818fd90>] exact_lock+0x10/0x20
[   47.828201] [<ffffff800850558c>] kobj_lookup+0xcc/0x158
[   47.828215] [<ffffff80081901e4>] chrdev_open+0xfc/0x168
[   47.828229] [<ffffff80081888f4>] do_dentry_open.isra.1+0x1dc/0x318
[   47.828245] [<ffffff800818995c>] vfs_open+0x44/0x70
[   47.828260] [<ffffff8008199a18>] path_openat+0x238/0x1000
[   47.828274] [<ffffff800819b894>] do_filp_open+0x64/0xe0
[   47.828287] [<ffffff8008189d60>] do_sys_open+0x128/0x200
[   47.828300] [<ffffff8008189e70>] SyS_openat+0x10/0x18
[   47.828315] [<ffffff8008082ef0>] el0_svc_naked+0x24/0x28
[   47.828329] Code: 88027c01 35ffffa2 d65f03c0 b4000540 (b9400001)
[   47.828401] ---[ end trace 8a28b89e17c62f92 ]---

Even though I do return 0 immediately after open, it still gives the same error. It seems that the error does not come from my driver but I don't have a clue.
I cannot verify whether it is from the board or not as I only have one ZCU102. Perhaps, you have already found this similar problem?
You might be able to tell me where should I start to debug this. Thank you.

Regards,
Arief
Nevermind, found it. Stupid me. Apparently I didn't return 0 in the init function.

Cheers,