Re: Vybrid HAB Setup

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: Vybrid HAB Setup

1,152 Views
julienmaudet
Contributor II

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

5 Replies

787 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

787 Views
julienmaudet
Contributor II

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

787 Views
degle
Contributor II

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?

0 Kudos

787 Views
julienmaudet
Contributor II

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

787 Views
Yuri
NXP Employee
NXP Employee

Hello,

BT_MMU_DISABLE is BOOT_CFG3[6]. 

Regards,

Yuri.

0 Kudos