public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Heinrich Schuchardt" <xypron.glpk@gmx.de>
To: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
	Grant Likely <Grant.Likely@arm.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: nd <nd@arm.com>, G Edhaya Chandran <Edhaya.Chandran@arm.com>
Subject: Re: [PATCH] Check return status on calls to GetTime()
Date: Thu, 6 Aug 2020 16:08:11 +0200	[thread overview]
Message-ID: <6c13499d-c5dd-8c6f-211c-2b336aa6aff9@gmx.de> (raw)
In-Reply-To: <DB7PR08MB3260F03A7EEC307CE8C153EA90480@DB7PR08MB3260.eurprd08.prod.outlook.com>

On 06.08.20 15:31, Samer El-Haj-Mahmoud wrote:
> One issue here is that UEFI 2.8 spec language around allowing runtime services (like GetTime() ) to return EFI_UNSUPPORTED is a bit vague:
>
> ""
> EFI_UNSUPPORTED
> This call is not supported by this platform at the time the call is made. The platform should describe this runtime service as unsupported at runtime via an EFI_RT_PROPERTIES_TABLE configuration table.
> ""
>
> The "at the time the call is made" language may be interpreted as the service is allowed to return EFI_UNSUPPORTED anytime (before or after ExitBootServices() ). But the next sentence (about declaring the unsupported at runtime) make it sounds like this is restricted to only being at runtime. While the use case makes sense, we may need some clarification in the UEFI spec language to make this clear. Otherwise, callers (like SCT) may assume the function is always supported.

Some systems do not have a real time clock. So these system have to
return EFI_UNSUPPORTED before as well as after ExitBootServices().

Due to possible conflicts with the access by the operating system many
systems with RTC will opt not to implement GetTime() at runtime but may
implement GetTime() before ExitBootServices(). This is what we do in U-Boot.

But of cause it is allowable to provide the service at all times if
feasible.

An implementation supplying GetTime() only after ExitBootServices()
would not make much sense to me but is not explicitly forbidden by the spec.

A clearer wording for the spec might be:

"If the service is available at runtime or not, has to be marked in the
EFI_RT_PROPROPERTIES_TABLE."

Best regards

Heinrich

  reply	other threads:[~2020-08-06 14:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31 17:19 [PATCH] Check return status on calls to GetTime() Grant Likely
2020-08-01 13:54 ` Heinrich Schuchardt
2020-08-04 15:46   ` Grant Likely
2020-08-04 11:26 ` Samer El-Haj-Mahmoud
2020-08-06 13:31   ` Samer El-Haj-Mahmoud
2020-08-06 14:08     ` Heinrich Schuchardt [this message]
2020-08-11 19:50       ` [edk2-devel] " G Edhaya Chandran
2020-08-11 20:00         ` G Edhaya Chandran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6c13499d-c5dd-8c6f-211c-2b336aa6aff9@gmx.de \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox