Hi All,
I got kernel crash, I don't know what exactly, Will you please give me some ideas
mek_8q:/ $
[ 4.348072] ++++++++++++++ arm_smmu_context_fault ++++++++++++ interrupt: 12
[ 4.348124] +++++++ Unable to handle kernel paging request at virtual address ffffbb884fc3d000
[ 4.350649] ------------[ cut here ]------------
[ 4.350673] WARNING: CPU: 1 PID: 1138 at /home/emb-vinosek/Documents/VINOTH/IndiEV-IMX8-A9/source/vendor/nxp-opensource/kernel_imx/drivers/iommu/io-pgtable-arm.c:305 __arm_lpae_map+0x17c/0x318
.356243] [<ffff00000852caf0>] __arm_lpae_map+0x160/0x318
[ 4.356247] [<ffff00000852ca9c>] __arm_lpae_map+0x10c/0x318
[ 4.356251] [<ffff00000852ca9c>] __arm_lpae_map+0x10c/0x318
[ 4.356255] [<ffff00000852ca9c>] __arm_lpae_map+0x10c/0x318
[ 4.356259] [<ffff00000852cd74>] arm_lpae_map+0xcc/0x100
[ 4.356263] [<ffff00000852ee04>] arm_smmu_map+0x18/0x28
[ 4.356267] [<ffff0000085282e0>] iommu_map+0xc0/0x248
[ 4.356271] [<ffff00000852856c>] default_iommu_map_sg+0x104/0x16c
[ 4.356275] [<ffff00000852b318>] iommu_dma_map_sg+0x148/0x2fc
[ 4.356280] [<ffff00000809bbd4>] __iommu_map_sg_attrs+0x6c/0x7c
[ 4.356287] [<ffff0000086e5540>] cqhci_request+0x194/0x4e8
[ 4.356292] [<ffff0000086c2418>] mmc_cqe_start_req+0x58/0x108
[ 4.356296] [<ffff0000086d60ac>] mmc_blk_mq_issue_rq+0x2d4/0x3ac
[ 4.356300] [<ffff0000086d6aa8>] mmc_mq_queue_rq+0x134/0x27c
[ 4.356304] [<ffff0000083ddb48>] blk_mq_dispatch_rq_list+0x354/0x42c
[ 4.356310] [<ffff0000083e21f4>] blk_mq_sched_dispatch_requests+0x174/0x200
[ 4.356313] [<ffff0000083dbd68>] __blk_mq_run_hw_queue+0x9c/0x108
[ 4.356317] [<ffff0000083dbe24>] blk_mq_run_work_fn+0x50/0x64
[ 4.356322] [<ffff0000080cb990>] process_one_work+0x140/0x3f8
[ 4.356326] [<ffff0000080cbd80>] worker_thread+0x138/0x3e4
[ 4.356331] [<ffff0000080d1d68>] kthread+0x104/0x130
[ 4.356336] [<ffff000008084f14>] ret_from_fork+0x10/0x18
Virtual addressing works by indirect addressing. There is a page table which indicates where that page is in real memory and the hardware uses the page table to indirectly address memory. Until the kernel gets the page table set up it runs in real mode where it uses the real address of memory locations.
So I read your symptoms and thought that maybe the kernel and the hardware disagreed on how to handle virtual memory, i.e. the kernel was compiled for the wrong cpu, or you do not have enough memory or not accesible.