OpenDevicePartnership / OpenDevicePartnership/odp-platform-common

Add telemetry for boot transition failures

Open
#205 0 comments 0 reactions 1 assignee View on GitHub

@kat-perez is already working on this.

Since Aug 31, 2026.

Dominant language
Rust
Stars
1
Forks
5
Avg merge
3d 4h
Merged PRs (30d)
9

Description

Problem

PR #203 made failures of the EndOfDxe / DxeSmmReadyToLock transition fail closed: an error now propagates to the non-returning BDS fatal path instead of resetting, invoking the general boot-exhaustion handler, attempting recovery, or dispatching an image. Because this happens before console discovery, production systems still need a platform-observable failure signal that does not depend on console logging.

Discussion: https://github.com/OpenDevicePartnership/odp-platform-common/pull/203#discussion_r3864171861

Already implemented in PR #203

  • transition failures propagate to the non-returning BDS fatal path;
  • the existing log path records a generic boot security-transition error;
  • the platform does not reset, retry, invoke the general failure handler, or attempt recovery after transition failure;
  • tests confirm that neither EndOfDxe nor DxeSmmReadyToLock failure reaches LoadImage().

Remaining work

Add a dedicated, platform-observable telemetry/status-code path before entering the fatal spin.

The reporting path must:

  • identify whether EndOfDxe signaling or DxeSmmReadyToLock installation failed;
  • include the returned EFI error/status when available;
  • work in release builds and before console discovery without relying on console logging;
  • be restricted to telemetry/status-code reporting and avoid device connection, image loading, or recovery dispatch;
  • preserve the existing fail-closed behavior: do not invoke the general boot-exhaustion failure handler, reset the platform, or retry the transition.

Acceptance criteria

  • A platform can observe both EndOfDxe and DxeSmmReadyToLock transition failures in a release build without relying on console logging.
  • Tests cover reporting for each transition stage and its EFI error/status.
  • Existing successful boot, fatal transition handling, and boot-option exhaustion behavior remain unchanged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.