On 27/09/2018 12:55, Ard Biesheuvel wrote:
On 27 September 2018 at 13:46, Daniel Thompson
<daniel.thomp...@linaro.org> wrote:
On Thu, Sep 27, 2018 at 10:53:51AM +0000, Udit Kumar wrote:
-----Original Message-----
From: Grant Likely <grant.lik...@arm.com>
Sent: Wednesday, September 26, 2018 6:01 PM
To: Udit Kumar <udit.ku...@nxp.com>; boot-architecture@lists.linaro.org;
arm.ebbr-disc...@arm.com
Cc: n...@arm.com
Subject: Re: [Arm.ebbr-discuss] [PATCH 5/7] Refactor ResetSystem()
requirements

  From patch 6:
+Functions contained in EFI_RUNTIME_SERVICES are expected to be
+available during both boot services and runtime services.
+However, it isn't always practical for all EFI_RUNTIME_SERVICES
+functions to be callable during runtime services due to hardware
limitations.
+If any EFI_RUNTIME_SERVICES functions are only available during boot
+services then firmware shall provide the global
+`RuntimeServicesAvailable` variable to indicate which functions are
available during runtime services.
+Functions that are not available during runtime services shall return
+EFI_UNSUPPORTED.

Is that clear enough?

Thanks,  this is clear where UEFI is saying to return an error say for 
RTC/Variable service.

For reset, there is no error code, in this case, how EFI interface can tell to 
OS that reset
is not available through runtime.  We should document this.

Interesting.

Clearly the OS can trivially detect the ResetSystem() is not
implemented/working because it would not otherwise return but this might
need an update to the ECR (which otherwise has language that adds
EFI_UNSUPPORTED as a return type to a function with no return type).


Instead, we could update the UEFI spec so that ResetSystem() does have
a return type, which may be useful in other way as well. (And being
able to add the language that says 'EFI_SUCCESS - An error has
occurred' is just too appealing)

Peter's ECR[1] does add EFI_UNSUPPORTED to the ResetSystem() description, but doesn't actually change the text to allow a return code! Minor stuff. Peter, does this work for the next version of your ECR?

Replace the following text in the description of ResetSystem()

    The ResetSystem() function does not return

With the following text and a new status code returned table containing EFI_UNSUPPORTED.

    The ResetSystem() function does not return unless the platform
    cannot support calls to ResetSystem() after ExitBootServices() is
    called.

g.

[1] https://pjones.fedorapeople.org/rt-unsupported-ecr-1.txt
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to