Ryan,
It is written in hab.c of u-boot for imx6 that "If the MMU is enabled, we have to notify the ROM code, or it won't flush the caches when needed. This is done, by setting the "pu_irom_mmu_enabled" word to 1. This is critical for authenticate_image()".
Was it necessary to authenticate the uImage on the Vybrid?
Thanks,
Julien
Hello,
It depends on application - if signed kernel should be used, then
authenticate_image() is necessary to check the kernel.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Yuri,
I was able to authenticate my signed kernel by using authenticate_image(), but only if I disable the MMU caching on the OCRAM.
My problem is that I would like to keep the MMU caching enabled. For that, it seems that I have to notify the boot ROM by setting the "pu_irom_mmu_enabled" word to 1. Do you have the address of this word for vybrid processor MVF50NS151CMK40 ?
Thanks,
Julien
Hello Julien,
I have been trying to a Linux kernel authenticated on a Vybrid processor as well and I have not had success yet. I have not tried disabling the MMU on OCRAM yet.
But I was wondering if you could tell me what modifications you made to the hab.c and hab.h code to get it to successfully authenticate the Linux image? And any other Vybrid configuration changes other than the OCRAM MMU?
Hello,
In hab.h, you will have to change HAB_RVT_BASE to 0x54 and also set :
HAB_RVT_ENTRY = HAB_RVT_BASE + 0x4
HAB_RVT_EXIT = HAB_RVT_BASE + 0x8
HAB_RVT_AUTHENTICATE_IMAGE = HAB_RVT_BASE + 0x10
HAB_RVT_REPORT_EVENT = HAB_RVT_BASE + 0x20
HAB_RVT_REPORT_STATUS = HAB_RVT_BASE + 0x24
You will also need to enable SNVS clock before any call to HAB API.
Julien