This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Unable to initialise translation tables on cortex A76

I am working on writing a minimalistic bare metal kernel for the raspberry pi 5 (having arm cortex a76). Everything was going on smoothly, until I came to enabling the MMU. I am not sure what I am missing here, but I think I am unable to initialise the translation tables for the MMU appropriately. Here is my bootstrap code for the kernel:

The code here, fails to branch to `kernel_main()` if it branches to `__create_page_tables`, and I don't understand why. I also had UART prints after every statement in the code, so as to check where the execution is hanging, and it turns out only the `bl kernel_main` statement is not taking place. Following is my linker:

also, for reference, the VA_START variable is a macro which resolves to 0x0 (I'm trying out identity mapping as of now...)

I am not sure as to what I am doing wrong, or what exactly I am missing and failing to understand. Any help would be really helpful...

Thanks!

0