Hi All,

I need to perform some soc specific fixups in dtb binary before passing it to 
kernel.
And also I want to perform these fixups from efi shell, so that I don't have to 
set any PCD for fdt device path.

I can achieve my purpose by placing a hook in 
" EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatform.c "

   if (fdt_check_header ((VOID*)(UINTN)FdtBlobBase) != 0 ||
       (UINTN)fdt_totalsize ((VOID*)(UINTN)FdtBlobBase) > FdtBlobSize) {
     DEBUG ((EFI_D_ERROR, "InstallFdt() - loaded FDT binary image seems 
corrupt\n"));
@@ -108,12 +107,13 @@ InstallFdt (
   }
   
+  FdtCpuSetup((VOID **)&FdtBlobBase, &FdtBlobSize);
 
   //
   // Store the FDT as Runtime Service Data to prevent the Kernel from
   // overwritting its data.
   //

 
And calling setfdt -i fs0:fdt.dtb
Command from shell.


I know this is not a correct way of performing dtb fixups.

Is there any alternative to achieve same?

Or I need to write my own driver and shell command for performing dtb fixups?


Thanks,
Meenakshi

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to