public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: Andrew Fish <afish@apple.com>,
	devel@edk2.groups.io, brian.johnson@hpe.com
Cc: Eric Dong <eric.dong@intel.com>, Ray Ni <ray.ni@intel.com>,
	Mike Kinney <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [Patch 0/2] UefiCpuPkg: Default avoid print.
Date: Fri, 2 Aug 2019 23:45:29 +0200	[thread overview]
Message-ID: <f2196b67-cf65-174d-1192-d65f642f8f72@redhat.com> (raw)
In-Reply-To: <FB00B2FC-1C6E-481E-8F4E-BD03A3FD7C9B@apple.com>

On 08/01/19 23:14, Andrew Fish wrote:

> The MpServices API and even the BSP don't apply at runtime, but then
> again you can't run code on the APs at runtime.

My understanding is that the OS can invoke a runtime service on any
processor. Plus, the UEFI spec classifies runtime services into groups,
and while in any given group at most one runtime service may be executed
at a time, a runtime service from another group can be invoked by the OS
on another processor.

See "Table 35. Rules for Reentry Into Runtime Services" (and the
containing section "8.1 Runtime Services Rules and Restrictions") in
UEFI-2.8.

As an example, one CPU could activate GetVariable() while another CPU
could activate GetTime(). If both services produce debug output (most
likely on a device that is excluded from OS control), some coordination
could be necessary.

That said, a conservative OS would likely avoid calling any runtime
service while another was busy (on any processor) :)

Thanks
Laszlo

  reply	other threads:[~2019-08-02 21:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31  7:35 [Patch 0/2] UefiCpuPkg: Default avoid print Dong, Eric
2019-07-31  7:35 ` [Patch 1/2] UefiCpuPkg/RegisterCpuFeaturesLib: " Dong, Eric
2019-07-31  7:35 ` [Patch 2/2] UefiCpuPkg/PiSmmCpuDxeSmm: " Dong, Eric
2019-07-31 12:43 ` [Patch 0/2] UefiCpuPkg: " Laszlo Ersek
2019-07-31 16:34   ` [edk2-devel] " Brian J. Johnson
2019-07-31 18:06     ` Andrew Fish
2019-07-31 18:58     ` Laszlo Ersek
2019-07-31 22:04       ` Johnson, Michael
2019-08-02  0:12         ` Laszlo Ersek
2019-08-01 20:20       ` Brian J. Johnson
2019-08-01 21:14         ` Andrew Fish
2019-08-02 21:45           ` Laszlo Ersek [this message]
2019-08-01  7:51 ` Ni, Ray
2019-08-01  9:07   ` Dong, Eric

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=f2196b67-cf65-174d-1192-d65f642f8f72@redhat.com \
    --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