<div dir="ltr">Hey all,<div><br></div><div>I am working on Raspberry Pi BSP which has ARM1176JZF-S (ARMv6) processor on it. Here is what I am doing that causes the processor to halt:</div><div><br></div><div>At BSP startup, specifically in bsp_start_hook_0 function, I call another function that :</div>
<div>1- Initialize first level page tables (sections) with READ/WRITE permissions.</div><div>2- Invalidate TLB.</div><div>3- Enable MMU, Cache, Protection bits in control register.</div><div><br></div><div>Initialization is done correctly and the program reaches my application (test case), which tries to update first level page table entries to force another protection attributes for a memory region. At this part, after, or before, modifying the page table entry, I try to invalidate TLB but the program halts there. I disable MMU and Caches during updating page tables and invalidating TLB. </div>
<div><br></div><div>When removing the function call that invalidates the TLB, the program proceed to the end successfully.</div><div><br></div><div>Not sure why the processor halts when trying to invalidate the TLB "at the second time". I hope someone can tell me the reason.</div>
<div><br></div><div>Regards,</div><div>Hesham</div></div>