'invalidateLocalTLB()' blocked in sel4 kernel

when I try port the sel4 to my imx6ull(cortex a7) development board,I’ve adapted the sel4 codes, but it does not work. When it run init_kernel->try_init_kernel->init_cpu->activate_global_pd->invalidateLocalTLB->asm volatile(“mcr p15, 0, %0, c8, c7, 0” : : “r”(0)), it just trapped. If I comment out the line asm ‘volatile(“mcr p15, 0, %0, c8, c7, 0” : : “r”(0))’, then it works and runs untill the end of the sel4test. The situation also appears when I port another board (cortex A55). Does anyone meet this? and how can I do? by the way, I start the sel4 image by uboot.

Oh,I solved the problem by myself. When the ‘invalidateLocalTLB’ is called, the printf should not use the physical address. and 'printf ’ should not be used before ‘init_cpu’.

1 Like

Thanks for posting the solution!