Developer Guide Release

Boot Profiling Utility
The information in this document is specific to Tegra code-named Parker. For Tegra code-named Xavier specific information please consult your Support Engineer (SE).
This topic describes how to profile the amount of time it takes to boot the SDK on platforms that use NVIDIA® Tegra® devices.
To enable profile dumping (virtual machine instances only)
See “Using Hypervisor Debug Commands” in the Foundation SDK 5.1 Development Guide.
To enable profile dumping (native OSs only)
Applies to: These procedures apply only to native OS instances. It does not apply to Virtual Machines running on Hypervisor.
1. Compile the kernel as described in Compiling the Kernel.
2. Copy the following file to the target rootfs:
3. Flash the system with the rebuilt kernel image and reboot.
4. Enter the following command on the target:
modprobe tegra_bootloader_debug
5. View the contents of: /sys/kernel/debug/tegra_bootloader/profiler.
Contents are similar to the following:
pl: EL1 Init TS 2465716135
pl: CacheFlush 2465718035 1900
pl: PreMMUInit 2465718283 248
pl: MMU Init 2465718666 383
pl: Driver Init 2465719773 1107
pl: DT Init 2465722204 2431
pl: Kernel Handoff 2465725561 3357
osl: EL1 Init TS 2465726641 1080
osl: CacheFlush 2465727191 550
osl: PreMMUInit 2465728106 915
osl: MMU Init 2465728758 652
osl: Driver Init 2465729427 669
osl: DT Init 2465731342 1915
osl: PT Init 2465733033 1691
osl: LoadKernel 2465784942 51909
osl: LoadRamdisk 2465799107 14165
osl: LoadDTB 2465800635 1528
osl: KernelEnv Setup 2465809095 8460
osl: Kernel Handoff 2465809207 112
The output includes the profiling point, the timestamp of each event, and the amount of time taken for each event, where applicable. The MB1Entry, MB2Entry, EL3Entry do not have third-column values because they are starting points for each binary. The third-column value for EL2-Entry indicates the time taken by software running in EL3 mode to come to EL2 mode.