On 12/10/2018 07:01, Udit Kumar wrote:


-----Original Message-----
From: arm.ebbr-discuss-boun...@arm.com <arm.ebbr-discuss-
boun...@arm.com> On Behalf Of Grant Likely
Sent: Thursday, October 11, 2018 8:36 PM
To: boot-architecture@lists.linaro.org; arm.ebbr-discuss <arm.ebbr-
disc...@arm.com>
Cc: nd <n...@arm.com>
Subject: [Arm.ebbr-discuss] [PATCH v2] Refactor ResetSystem() requirements

ResetSystem() was over-specified in the document. UEFI already documents the
behaviour of ResetSystem() sufficiently. Add notes on expected behaviour when
platform specific or standard interface methods are available.

Resolves: #29
Signed-off-by: Grant Likely <grant.lik...@arm.com>
---
  source/chapter2-uefi.rst | 27 ++++++++++-----------------
  1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/source/chapter2-uefi.rst b/source/chapter2-uefi.rst index
0cbddff..8a3ff1a 100644
--- a/source/chapter2-uefi.rst
+++ b/source/chapter2-uefi.rst
@@ -175,23 +175,16 @@ and the OS must use a device driver to control the
RTC.
  UEFI Reset and Shutdown
  -----------------------

-The UEFI Runtime service ResetSystem() must implement the following
commands, -for purposes of power management and system control.
-
-- EfiResetCold()
-- EfiResetShutdown()
-  * EfiResetShutdown must not reboot the system.
-
-If firmware updates are supported through the Runtime Service of -
UpdateCapsule(), then ResetSystem() might need to support the following
-command:
-
-- EfiWarmReset()
-
-.. note:: On platforms implementing the Power State Coordination Interface
-   specification [PSCI]_, it is still required that EBBR compliant
-   Operating Systems calls to reset the system will go via Runtime Services
-   and not directly to PSCI.
+ResetSystem() is required to be implemented in boot services, but it is
+optional for runtime services.
+During runtime services, the operating system should first attempt to
+use ResetSystem() to reset the system.
+If ResetSystem() returns EFI_UNSUPPORTED, then the OS may fall back to
+an architecture or platform specific mechanism.
+
+On AArch64 platforms implementing [PSCI]_, if ResetSystem() is not
+implemented then the Operating System should fall back to making a PSCI
+call to reset or shutdown the system.

IMHO, if reset is implemented using some registers then platform may choose
to return error, if platform does not convert pointer etc.
But for psci, method,. why, we want to return error from ResetSystem().
I believe, similar to edk2 even in u-boot supporting reset using psci should be 
any platform specific effort.

Hi Udit,

I'm having trouble understanding what you mean. What would you like the spec to say in this case?

g.

_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to