Welcome to the Linux Foundation Forum!

Kernel won't boot under debugger

Options

Hello. Having Linux (OpenWrt) running hardware working like a charm.
CPU - is NXP's IMX6ULL.
This CPU has JTAG interface and supported by J-Link debugger.
Got U-boot booting well under JTAG debugger but having troubles with linux kernel.
Using vmlinux compiled with CONFIG_DEBUG_INFO=y **and **CONFIG_DEBUG_KERNEL=y.
Here is entry point of kernel starting screenshot
screenshot

I am able to walk through the code step by step until __enable_mmu function.
Here are four steps before execution stucks:
1
2
3
4

e.g. on execution mcr p15, 0, r4, c2, c0, 0 @ load page table pointer line of code it stucks. Registers state on each step shown on the right side of screenshot. Don't know anything about assembler so can't understand what is wrong.
Because of facing such issue under debugging I am pretty sure that something not initialized properly. Some things to be initialized by u-boot during production flow, e.g. on booting kernel after U-boot initialized and passes execution to the kernel.
Trying to find what is page table pointer, trying to understand what register should store what value without luck. Could someone please give me a hint how can I handle that issue? Probably how to initialize page table pointer properly?

Categories

Upcoming Training