Raspberry/ARM processor halts when invalidating tlb

Hesham Moustafa heshamelmatary at gmail.com
Thu Aug 22 22:48:05 UTC 2013


Hey all,

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:

At BSP startup, specifically in bsp_start_hook_0 function, I call another
function that :
1- Initialize first level page tables (sections) with READ/WRITE
permissions.
2- Invalidate TLB.
3- Enable MMU, Cache, Protection bits in control register.

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.

When removing the function call that invalidates the TLB, the program
proceed to the end successfully.

Not sure why the processor halts when trying to invalidate the TLB "at the
second time". I hope someone can tell me the reason.

Regards,
Hesham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20130823/d4bb0572/attachment.html>


More information about the devel mailing list