cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jsaxer
Observer
Observer
687 Views
Registered: ‎03-09-2015

PetaLinux 2018.1 fails to execute bl32 during boot on zynqmp

I am trying to use ATF and a secure OS (in this case OP_TEE) on a ZynqMP+ (using a ZCU102 development board). The secure OS is loaded into a bl32.elf image, and the whole thing put into a bootgen.bif file to generate an image, as shown below

 

rom_image:

{

                [fsbl_config] a53_x64

                [bootloader] zynqmp_fsbl.elf

                [pmufw_image] pmufw.elf

                [destination_device=pl] optee.bit

                [destination_cpu=a53-0, exception_level=el-3, trustzone] bl31.elf

                [destination_cpu=a53-0, exception_level=el-2] u-boot.elf

                [destination_cpu=a53-0, exception_level=el-1, trustzone] bl32.elf

                [destination_cpu=a53-0, partition_owner=uboot, exception_level=el-2] image.ub

}

 

On boot, the bl31 image runs, but does not appear to find and execute the init functions in the bl32 image, which results in the PetaLinux drivers not being able to find the secure OS once everything is up.

 

Has anyone had any success in getting a secure OS to load and run on a zynqmp?

 

John

0 Kudos
2 Replies
asooy
Visitor
Visitor
459 Views
Registered: ‎08-05-2018

believe I am having the same issue in petalinux 2018.2 have you made any progress with this?

I am deploying this on an ultra 96 board using the zynqmp.mk now in the op-tee build repository. 

The bif I am using is almost the same:

rom_image:

{

                [bootloader] zynqmp_fsbl.elf

                [pmufw_image] pmufw.elf

                [destination_device=pl] system.bit

                [destination_cpu=a53-0, exception_level=el-3, trustzone] bl31.elf

                [destination_cpu=a53-0, exception_level=el-2] u-boot.elf

                [destination_cpu=a53-0, exception_level=el-1, trustzone] bl32.elf

}

Linux does boot. The xtest, ta devkit, and the supplicant are present. However, it is not detecting the secure os.

0 Kudos
asooy
Visitor
Visitor
417 Views
Registered: ‎08-05-2018

I was able to get it working with this BIF:

the_ROM_image: {

[destination_cpu=a53-0, bootloader] zynqmp_fsbl.elf
[pmufw_image] pmufw.elf
[destination_device=pl] system.bit
[destination_cpu=a53-0, exception_level=el-3, trustzone] bl31.elf
[destination_cpu=a53-0, exception_level=el-2] u-boot.elf
[destination_cpu=a53-0, exception_level=el-1, trustzone] bl32.elf
system.dtb

}

0 Kudos