Re: [RFC PATCH 0/1] Add driver to read secondary bootloader (XBL) log

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/22/2023 5:45 PM, Ninad Naik wrote:
Boot time logs for Qualcomm secondary boot-loader or XBL can help to
identify different set of information regarding firmware configuration,
SoC boot KPIs. A dedicated region is carved out in the memory map in order
to store this log in the memory.

The objective of this driver is to read the XBL boot log stored in
this memory region post boot-up, and provide an entry in debugfs, which
can be used to read back the logs and print them on to the console.


I see couple of use cases for this kind of logging like logs from boot, Hypervisor, Trusted Execution environments and also one in upstream for chromeos EC console. Can this be made a generic driver which take log name, log memory buffer address and size to read from debugfs.
Further, this log can be parsed to extract different set of information
as required.

For example, one use case can be parsing boot time KPIs to calculate,
  - PBL End time
  - SBL End time
  - UEFI Start/Stop time

Corresponding log contents as captured in /sys/kernel/debug/xbl_log entry
which prints the above counters,

         S -     59378 - PBL, End
         B -     68198 - SBL1, Start
         B -   1308877 - SBL1, End
         UEFI Start     [ 3370]
          - 0x0AF001000 [ 3375] Sec.efi
         UEFI Total : 466 m
         POST Time      [ 3836] OS Loader
          - 0x0ABE10000 [ 3838] LinuxLoader.efi
         Exit EBS        [ 4878] UEFI End

         /* Note - these are few excerpts picked from the complete XBL log
          *        as tested on SA8775p
          */

Ninad Naik (1):
   soc: qcom: Add driver to read secondary bootloader (XBL) log

  drivers/soc/qcom/Kconfig        |  13 +++
  drivers/soc/qcom/Makefile       |   1 +
  drivers/soc/qcom/dump_xbl_log.c | 139 ++++++++++++++++++++++++++++++++
  3 files changed, 153 insertions(+)
  create mode 100644 drivers/soc/qcom/dump_xbl_log.c




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux