From d7f137595247e9b30fb79ccc3272fa5a23d244d8 Mon Sep 17 00:00:00 2001 From: Andrei Warkentin Date: Tue, 13 Aug 2024 10:59:40 -0500 Subject: [PATCH] AML_070 and URT_020 clarifications. (#193) Signed-off-by: Andrei Warkentin --- acpi.adoc | 2 +- uefi.adoc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/acpi.adoc b/acpi.adoc index e3796a3..6c3fbaa 100644 --- a/acpi.adoc +++ b/acpi.adoc @@ -65,7 +65,7 @@ objects. | `AML_040` | Per-hart device objects MUST be defined under `\_SB` (System Bus) namespace and not in the deprecated `\_PR` (Processors) namespace. | `AML_050` | Systems supporting OS-directed hart performance control and power management MUST expose these via Collaborative Processor Performance Control (CPPC, cite:[ACPI] Section 8.4.6). | `AML_060` | Processor idle states MUST be described using Low Power Idle (`_LPI`, cite:[ACPI] Section 8.4.3). -| [[acpi-tad]] `AML_070` | 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 implement the Time and Alarm Device (TAD). +| [[acpi-tad]] `AML_070` | 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 implement the Time and Alarm Device (TAD) with functioning `_GRT` and `_SRT` methods, and the `_GCP` method returning bit 2 set (i.e. get/set real time features implemented). 2+| _Also see <>_. | `AML_080` | Systems implementing a TAD MUST be functional without additional system-specific OS drivers. 2+| _In situations where the Time and Alarm Device (TAD) depends on a diff --git a/uefi.adoc b/uefi.adoc index 464b86d..bc100d0 100644 --- a/uefi.adoc +++ b/uefi.adoc @@ -74,9 +74,9 @@ See additional <>. 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. + * `GetTime()` and `SetTime()` MUST return `EFI_UNSUPPORTED`, when called after the UEFI boot services have been exited, and must + operate on the same hardware as the <> before UEFI boot services are exited. * `GetTime()` and `SetTime()` MUST be appropriately described in the `EFI_RT_PROPERTIES_TABLE`. -2+|_Also see <>_. | `URT_030` a| The UEFI `ResetSystem()` runtime service MUST be implemented. 2+| _The OS MUST call the `ResetSystem()` runtime service call to reset or shutdown the system, preferring this to SBI, ACPI or other system-specific mechanisms. This allows for systems to perform any required system tasks on the way out (e.g. servicing `UpdateCapsule()` or persisting non-volatile variables in some systems)._ | `URT_040` | Non-volatile UEFI variables MUST persist across calls to the `ResetSystem()` runtime service call.