Hi,

In this sequence, is it possible for firmware to delete the non-volatile memory contents after copying to GHES DRAM buffer in step 6?

-Varun

From: Jaiprakash Singh <jaiprakashs@marvell.com>
Date: Tuesday, 17 March 2026 at 10:26
To: tf-a@lists.trustedfirmware.org <tf-a@lists.trustedfirmware.org>, Manish Pandey <manish.pandey2@arm.com>
Cc: Varun Wadekar <vwadekar@nvidia.com>, George Cherian <gcherian@marvell.com>, Ashwin Kumar Sundararamakrishnan <asundararama@marvell.com>
Subject: BERT Record Erase Only After Kernel Consumes

You don't often get email from jaiprakashs@marvell.com. Learn why this is important
External email: Use caution opening links or attachments

Hi All,

 

BERT (Boot Error Record Table) captures errors which occurred in previous boot.

Below is the Flow with FFH (firmware first handling)

 

  1. Kernel is running
  2. Fatal error happens, which requires reboot
  3. Firmware decides to reboot system, before that capture current snapshot and save it as bert record on non-volatile memory
  4. System reboot
  5. On next boot, firmware read bert record from non-volatile memory
  6. Copy bert record to ghes dram buffer
  7. Kernel boots
  8. Kernel reads ghes dram buffer and prints bert record.

 

Problem in this flow is “When firmware should erase or delete bert records from non-volatile memory”?

 

Ideally, when Kernel has consumed Bert record after that only firmware should erase them from non-volatile memory.

But there is no communication from Kernel to firmware that it has consume bert record and now it is safe to erase them.

 

Is there already a solution for this problem available in Kernel or firmware?

Can generic SMC call from Kernel to firmware be a solution?

Any other suggestion?

 

Thanks

 

Regards,

Jaiprakash