Skip to content

Request for comments: relaxing time services requirements#167

Draft
vstehle wants to merge 1 commit into
ARM-software:mainfrom
vstehle:rtcexp
Draft

Request for comments: relaxing time services requirements#167
vstehle wants to merge 1 commit into
ARM-software:mainfrom
vstehle:rtcexp

Conversation

@vstehle
Copy link
Copy Markdown
Collaborator

@vstehle vstehle commented May 19, 2026

This is a request-for-comments which is meant as a support to start the discussion.

Allow firmware to ignore time services timezone and daylight, and allow time and alarm to not persist across reset.

This change break compatibility and therefore necessitates a change of the major version of this specification.

This is something that U-Boot is doing in practice with e.g. RTC emulation,
and that is allowed de-facto since a while on Arm ACS side.

  • Should we relax the requirements clearly?
  • Is it the right time to do it?
  • Would we bump EBBR major number "just" for that?

Allow firmware to ignore time services timezone and daylight, and allow
time and alarm to not persist across reset.

This change break compatibility and therefore necessitates a change of the
major version of this specification.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
@vstehle vstehle added the request for comments This is meant to fuel discussions and will not be merged label May 19, 2026
@xypron
Copy link
Copy Markdown
Contributor

xypron commented May 19, 2026

The daylight saving time flag is considered in U-Boot's EFI layer. But some device drivers may not support it. The timezone is always returned as unspecified as the RTC typically cannot store that information. I am not sure that we have a gap to the UEFI spec here.

Linux expects the hardware clock to be set to UTC, while Windows expects it to be in local time. A registry entry in Windows allows using UTC in the RTC. BSD also prefers UTC.

Both timezone as well as dst support are not needed when using UTC in the hardware clock.

Using UTC looks like the sane choice for EBBR devices.

RTC alerts are currently not supported in U-Boot. Programming the RTC alerts is typically done by the OS. As we have no U-Boot drivers for the RTC at runtime, the OS will always have to use its own drivers. I don't see a need to access RTC alerts at boot time.

Comment thread source/chapter2-uefi.rst
- 0

Firmware is also not required to persist the current local time and date or the
system wakeup alarm clock time information across reset.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem in U-Boot is not persistence. There is no support in the hardware driver framework at all for wakeup times though the hardware support might exist.

So the current suggestion won't help to make U-Boot compliant.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @xypron,

Thanks for the review.

For wakeup we are somewhat covered already as those services are only conditionally required:

EFI_RUNTIME_SERVICES function Before ExitBootServices() After ExitBootServices()
.. .. ..
GetWakeupTime Required if wakeup supported. Optional
SetWakeupTime Required if wakeup supported. Optional

Persistence of e.g. time or daylight settings is still a small issue here, I think, as it is indeed tested by the SCT and it will not work on platforms using RTC emulation.

@vstehle vstehle marked this pull request as draft May 20, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs investigations request for comments This is meant to fuel discussions and will not be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants