public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, zhichao.gao@intel.com
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <liming.gao@intel.com>,
	Jian J Wang <jian.j.wang@intel.com>,
	Hao A Wu <hao.a.wu@intel.com>, Ray Ni <ray.ni@intel.com>,
	Star Zeng <star.zeng@intel.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	Michael Turner <Michael.Turner@microsoft.com>,
	Bret Barkelew <Bret.Barkelew@microsoft.com>
Subject: Re: [edk2-devel] [PATCH 0/3] MdePkg/MdeModulePkg: Introduce a pcd to control runtime services
Date: Wed, 17 Jul 2019 15:15:24 +0200	[thread overview]
Message-ID: <a4b435bc-c14b-1aac-bd83-789f5ac6e537@redhat.com> (raw)
In-Reply-To: <20190717073725.30304-1-zhichao.gao@intel.com>

Hello Zhichao,

On 07/17/19 09:37, Gao, Zhichao wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1907
> 
> UEFI spec 2.8 introduce a new variable L"RuntimeServicesSupported".
> If some runtime sevices is not supported at runtime phase, the variable
> should present at boot services. It is a bitmask value, the bit value of
> zero indicate the related runtime services is not supported at runtime
> phase.
> Add the difinition and use it to control Capsule runtime services.
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Sean Brogan <sean.brogan@microsoft.com>
> Cc: Michael Turner <Michael.Turner@microsoft.com>
> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> 
> Zhichao Gao (3):
>   MdePkg/UefiSpec.h: Add define of runtime services support
>   MdePkg: Indicate new pcd PcdRuntimeServicesSupport
>   MdeModulePkg/CapsuleRuntimeDxe: Control runtime services supported

Is a given platform expected to set the new PCD in accordance with other
platform settings?

Here's why I'm asking. OVMF does not support capsule services, as shown
by the following library class resolution in the OVMF DSC files:

  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf

OVMF will return EFI_UNSUPPORTED when the capsule runtime services are
invoked.

I'm not sure if the new PCD (and new UEFI variable,
"RuntimeServicesSupported") place new requirements on OVMF. It looks
like they do.

(1) If you agree, can you please include a new patch for OvmfPkg that
clears the EFI_RT_SUPPORTED_UPDATE_CAPSULE and
RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES bits in the PCD, in all three
DSC files?

(2) And, the same applies to all three ArmVirtPkg platforms:
ArmVirtQemu, ArmVirtQemuKernel, and ArmVirtXen.

(3) Furthermore, we already seem to have a related (generic) PCD, namely
PcdCapsuleInRamSupport. If that PCD is set to FALSE, then
UpdateCapsule() in
"MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c" will return
EFI_UNSUPPORTED.

Should we introduce a consistency check somewhere, between the
capsule-related bits of the PcdRuntimeServicesSupport bitmask, and
PcdCapsuleInRamSupport?


I'm getting confused by the possible interactions between:
- PcdRuntimeServicesSupport
- PcdCapsuleInRamSupport
- and the CapsuleLib class resolution.

Thanks!
Laszlo

  parent reply	other threads:[~2019-07-17 13:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-17  7:37 [PATCH 0/3] MdePkg/MdeModulePkg: Introduce a pcd to control runtime services Gao, Zhichao
2019-07-17  7:37 ` [PATCH 1/3] MdePkg/UefiSpec.h: Add define of runtime services support Gao, Zhichao
2019-07-17  7:37 ` [PATCH 2/3] MdePkg: Add new pcd PcdRuntimeServicesSupport Gao, Zhichao
2019-07-17  7:37 ` [PATCH 3/3] MdeModulePkg/CapsuleRuntimeDxe: Control runtime services supported Gao, Zhichao
2019-07-17 15:40   ` [edk2-devel] " Michael D Kinney
2019-07-18  1:56     ` Gao, Zhichao
2019-07-17 13:15 ` Laszlo Ersek [this message]
2019-07-18  1:37   ` [edk2-devel] [PATCH 0/3] MdePkg/MdeModulePkg: Introduce a pcd to control runtime services Gao, Zhichao

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=a4b435bc-c14b-1aac-bd83-789f5ac6e537@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