
Hello Heinrich,
@Simon, @Alex Why did we ever introduce this value? 127 MB in baf70c02107 ("efi: Relocate FDT to 127MB instead of 128MB") 128 MB in ad0c1a3d2ce ("efi_loader: Put fdt into convenient location")
baf70c02107 says that the Sandbox has only 128 MiB. But why should we need to hard code this here. When the Sandbox has initialized the memory map efi_allocate_pool() will take care of finding an address in the available memory anyway.
ad0c1a3d2ce mentions 128 MB as recommended value but does not provide any reference. I think we should provide the source of this recommendation.
According to https://www.st.com/en/microcontrollers-microprocessors/stm32mp157.html STM32MP157 comes with support for TrustZone and SecureBoot.
https://www.st.com/en/microcontrollers-microprocessors/stm32mp157.html#tools...:
"The developer package comes with
Boot chain based on TF-A and U-Boot OP-TEE secure OS running on the Arm® Cortex®-A in secure mode."
The Linux device tree does not reserve a memory region for the trusted firmware (TF-A) and the trusted execution environment (OP-TEE) Shouldn't there be a reserved memory area for both.
If TF-A or OP-TEE reside near 0xC8000000, this would explain the observed behavior.
@Ilias Do you use TF-A or OP-TEE in your setup?
No none of those are present in my tests.
Note that in both workaround 1/2 fdt ends up at the same address (0xc7ef4000).
Thanks /Ilias