From 2c89fa5a8f357f0097774bd8a58b63eba55b2c51 Mon Sep 17 00:00:00 2001 From: Andrei Warkentin Date: Thu, 8 Aug 2024 13:13:17 -0500 Subject: [PATCH] Apply URT_010 feedback from ARC Signed-off-by: Andrei Warkentin --- non-normative/uefi.adoc | 9 +++++++++ uefi.adoc | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/non-normative/uefi.adoc b/non-normative/uefi.adoc index 8fd052d..cf2ec7b 100644 --- a/non-normative/uefi.adoc +++ b/non-normative/uefi.adoc @@ -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. \ No newline at end of file diff --git a/uefi.adoc b/uefi.adoc index 527b779..e0a1e4a 100644 --- a/uefi.adoc +++ b/uefi.adoc @@ -63,10 +63,11 @@ See additional <>. [%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-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.