Skip to content

Boot Logo Display using APRIORI DXE #151

@Muhammadhassan1234

Description

@Muhammadhassan1234

Hello Everyone!

I am working on NVIDIA jetson agx xavier board have edk2-nvidia v35.6.3. I want to display logo as soon as Possible. I studied DXE a little bit and figured out that edk2-nvidia loads DXE mentioned in APRIORI DXE first and then other things. Thats why I started adding the logo and graphics dependencies in APRIORI DXE so that I can get the logo on screen as soon as Possible. But I am stuck into dependency errors. Can someone guide me what should be the exact DXE order in APRIORI to load display logo as soon as possible

Here is my Current APRIORI DXE values in jetson.fdf file

  APRIORI DXE {
    INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
    INF Silicon/NVIDIA/Drivers/TegraPlatformInit/TegraPlatformInitDxe.inf
    INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
    INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
    INF MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
    INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
    INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
    INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    INF FatPkg/EnhancedFatDxe/Fat.inf
    INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    INF MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf
    INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
    INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
    INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
    INF Silicon/NVIDIA/Drivers/DefaultVariableDxe/DefaultVariableDxe.inf
    INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
    INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
    INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
    INF Silicon/NVIDIA/Drivers/TegraGpio/TegraGpioDxe.inf
    INF Silicon/NVIDIA/Drivers/I2cExpanderGpio/I2cExpanderGpio.inf
    INF MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf
    INF Silicon/NVIDIA/Drivers/TegraPwmDxe/TegraPwmDxe.inf
    INF Silicon/NVIDIA/Drivers/TegraControllerEnableDxe/TegraControllerEnableDxe.inf
    INF Silicon/NVIDIA/Drivers/NvDisplayControllerDxe/NvDisplayControllerDxe.inf
    INF Silicon/NVIDIA/Tegra/T194/Drivers/T194GraphicsOutputDxe/T194GraphicsOutputDxe.inf
    INF Silicon/NVIDIA/Drivers/Logo/LogoDxe.inf
    INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
    }

Here are my edk-nvidia logs


nstallProtocolInterface: 1DA97072-BDDC-4B30-99F1-72A0B56FFF2A 0
Loading driver 4B28E4C7-FF36-4E10-93CF-A82159E777C5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 878D55040
add-symbol-file /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/build/Build/Jetson/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/DEBUG/ResetSystemRuntimeDxe.dll 0x87BB20000
Loading driver at 0x0087BB10000 EntryPoint=0x0087BB24064 ResetSystemRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 878D55D98
ProtectUefiImageCommon - 0x78D55040
  - 0x000000087BB10000 - 0x0000000000040000
SetUefiImageMemoryAttributes - 0x000000087BB10000 - 0x0000000000010000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x000000087BB20000 - 0x0000000000010000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x000000087BB30000 - 0x0000000000020000 (0x0000000000004008)

InstallProtocolInterface: 27CFAC88-46CC-11D4-9A38-0090273FC14D 0
InstallProtocolInterface: 9DA34AE0-EAF9-4BBF-8EC3-FD60226C44BE 87BB302C0
InstallProtocolInterface: 695D7835-8D47-4C11-AB22-FA8ACCE7AE7A 87BB30270
InstallProtocolInterface: 2DF6BA0B-7092-440D-BD04-FB091EC3F3C1 87BB30298
Loading driver B336F62D-4135-4A55-AE4E-4971BBF0885D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 878D54040
add-symbol-file /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/build/Build/Jetson/DEBUG_GCC5/AARCH64/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe/DEBUG/RealTimeClock.dll 0x87BAD0000
Loading driver at 0x0087BAC0000 EntryPoint=0x0087BAD49AC RealTimeClock.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 878D54F18
ProtectUefiImageCommon - 0x78D54040
  - 0x000000087BAC0000 - 0x0000000000040000
SetUefiImageMemoryAttributes - 0x000000087BAC0000 - 0x0000000000010000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x000000087BAD0000 - 0x0000000000010000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x000000087BAE0000 - 0x0000000000020000 (0x0000000000004008)

InstallProtocolInterface: 27CFAC87-46CC-11D4-9A38-0090273FC14D 0
Loading driver 4C6E0267-C77D-410D-8100-1495911A989D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 878D54540
add-symbol-file /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/build/Build/Jetson/DEBUG_GCC5/AARCH64/EmbeddedPkg/MetronomeDxe/MetronomeDxe/DEBUG/MetronomeDxe.dll 0x87AB7D000
Loading driver at 0x0087AB7C000 EntryPoint=0x0087AB804AC MetronomeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 878D53F98
ProtectUefiImageCommon - 0x78D54540
  - 0x000000087AB7C000 - 0x0000000000009000
SetUefiImageMemoryAttributes - 0x000000087AB7C000 - 0x0000000000001000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x000000087AB7D000 - 0x0000000000006000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x000000087AB83000 - 0x0000000000002000 (0x0000000000004008)

InstallProtocolInterface: 26BACCB2-6F42-11D4-BCE7-0080C73C8881 87AB830E0
Loading driver CB14D604-34B9-4E2B-8551-CB78A03CA7A5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 878D530C0
add-symbol-file /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/build/Build/Jetson/DEBUG_GCC5/AARCH64/Silicon/NVIDIA/Drivers/DefaultVariableDxe/DefaultVariableDxe/DEBUG/DefaultVariableDxe.dll 0x87AB71000
Loading driver at 0x0087AB70000 EntryPoint=0x0087AB76D30 DefaultVariableDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 878D53318
ProtectUefiImageCommon - 0x78D530C0
  - 0x000000087AB70000 - 0x000000000000C000
SetUefiImageMemoryAttributes - 0x000000087AB70000 - 0x0000000000001000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x000000087AB71000 - 0x0000000000009000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x000000087AB7A000 - 0x0000000000002000 (0x0000000000004008)

Loading driver CBD2E4D5-7068-4FF5-B462-9822B4AD8D60
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 878D52040
add-symbol-file /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/build/Build/Jetson/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/DEBUG/VariableRuntimeDxe.dll 0x87B9C0000
Loading driver at 0x0087B9B0000 EntryPoint=0x0087B9C9338 VariableRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 878D52298
ProtectUefiImageCommon - 0x78D52040
  - 0x000000087B9B0000 - 0x0000000000100000
SetUefiImageMemoryAttributes - 0x000000087B9B0000 - 0x0000000000010000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x000000087B9C0000 - 0x00000000000D0000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x000000087BA90000 - 0x0000000000020000 (0x0000000000004008)

VarCheckLibRegisterSetVariableCheckHandler - 0x7B9CADEC Success
ASSERT [VariableRuntimeDxe] /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/edk2-tegra/edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.c(164): NvStorageBase != 0
Firmware Volume for Variable Store is corrupted

ASSERT_EFI_ERROR (Status = Volume Corrupt)
ASSERT [VariableRuntimeDxe] /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/edk2-tegra/edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c(546): !(((INTN)(RETURN_STATUS)(Status)) < 0)
InstallProtocolInterface: CD3D0A05-9E24-437C-A891-1EE053DB7638 87BA90488
InstallProtocolInterface: AF23B340-97B4-4685-8D4F-A3F28169B21D 87BA90358
InstallProtocolInterface: 1E5668E2-8481-11D4-BCF1-0080C73C8881 0
ASSERT [VariableRuntimeDxe] /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/edk2-tegra/edk2/MdePkg/Library/UefiLib/UefiLib.c(439): Lock->Lock == EfiLockReleased
ASSERT [DxeCore] /home/eptde20/atlas-os/build/tmp/work/atlas_aesku-poky-linux/edk2-firmware-tegra/35.6.1-r0/edk2-tegra/edk2/MdeModulePkg/Core/Dxe/Event/Tpl.c(69): ((NewTpl) <= 31)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions