cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
2,104 Views
Registered: ‎05-31-2011

MMU hardware exception during Xilkernel initialization for Microblaze Virtual mode execution

Hello,

 

I am using a XUPV5-LX110T evaluation platform board to run xilkernel on the MMU-enabled Microblaze (virtual mode), s.t.C_USE_MMU = 3.
Trying to run the xilkernel_posix_threads_demo application from the template xilkernelon EDK/SDK 13.1.
However, the execution does not proceed beyond xilkernel_init() function.
The execution jumps into the exception handler module and keeps looping there due to multiple TLB miss exceptions.
I traced the execution flow and discovered that the VM mode initialization in the mpu_init() function is responsible for this execution flow break .
When the VM mode initialization section is commented out, the execution continues for the main thread and it keeps looping in the idle_task() (which it should do).
However a master process, though created, is not scheduled for execution and never executes(or may be prematurely terminated).
Could someone give some feedback as to why the virtual mode initialization leads to a TLB miss during the mpu initialization step?
Note: The application works fine for the hardware generated with (C_USE_MMU<=1)

 

Thanks.
0 Kudos
1 Reply
Highlighted
Visitor
Visitor
2,087 Views
Registered: ‎05-31-2011

i just wanted to add some update.

I discovered that after the VM mode enabling, the application incurs a TLB miss because the TLB is not updated with instruction addresses while mpu initialization.

However, even after i add the tags and RPN entries in tlbhi and tlblo registers during mpu initialization, the application still incurs a TLB miss immediately after the VM mode initialization.

0 Kudos