Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply URT_010 feedback from ARC #190

Merged
merged 1 commit into from
Aug 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Apply URT_010 feedback from ARC
Signed-off-by: Andrei Warkentin <andrei.warkentin@intel.com>
Andrei Warkentin committed Aug 8, 2024
commit 2c89fa5a8f357f0097774bd8a58b63eba55b2c51
9 changes: 9 additions & 0 deletions non-normative/uefi.adoc
Original file line number Diff line number Diff line change
@@ -33,3 +33,12 @@ register maps. In the cases where there are unpopulated PCIe slots
behind a root bridge, `EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION`
reports valid resources assigned (e.g. for hot plug), or reports no
resources assigned.

[[uefi-guidance-rt]]
==== UEFI Runtime Services

Systems without an RTC and with an equivalent alternate source for current time,
that is not trivially accessible from a UEFI implementation after the
UEFI boot services are shut down (e.g. network time), can implement `GetTime()`
using the `time` CSR. The time, of course, needs to be synchronized
before the boot services are shut down.
5 changes: 3 additions & 2 deletions uefi.adoc
Original file line number Diff line number Diff line change
@@ -63,10 +63,11 @@ See additional <<uefi-rt, requirements for UEFI runtime services>>.
[%header, cols="5,25"]
|===
| ID# ^| Requirement
| `URT_010` a| Systems without a Real-Time Clock (RTC) MUST meet the following requirements:
| `URT_010` a| Systems without a Real-Time Clock (RTC), but with an equivalent alternate source for the current time, MUST meet the following requirements:

* `GetTime()` MUST be implemented (e.g. in terms of CPU cycle counter).
* `GetTime()` MUST be implemented.
* `SetTime()` MUST return `EFI_UNSUPPORTED`, and be appropriately described in the `EFI_RT_PROPERTIES_TABLE`.
2+| _<<uefi-guidance-rt, See additional guidance>>_.
| [[uefi-rtc]] `URT_020` a| Systems with a Real-Time Clock on an OS-managed bus (e.g. I2C, subject to arbitration issues due to access to the bus by the OS) MUST meet the following requirements:

* `GetTime()` and `SetTime()` MUST return `EFI_UNSUPPORTED`, when called after the UEFI boot services have been exited.