From: "Sean" <spbrogan@outlook.com>
To: devel@edk2.groups.io, dun.tan@intel.com
Cc: Ray Ni <ray.ni@intel.com>, Liming Gao <gaoliming@byosoft.com.cn>,
Jiaxin Wu <jiaxin.wu@intel.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Sami Mujawar <sami.mujawar@arm.com>,
Gerd Hoffmann <kraxel@redhat.com>, Andrew Fish <afish@apple.com>,
Jiewen Yao <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] [PATCH 0/9] Allocate and unblock variable runtime cache buffer in PEI
Date: Mon, 20 May 2024 11:16:30 -0700 [thread overview]
Message-ID: <BY3PR19MB490049BD348FFD98901EF32AC8E92@BY3PR19MB4900.namprd19.prod.outlook.com> (raw)
In-Reply-To: <20240517094917.513-1-dun.tan@intel.com>
[-- Attachment #1: Type: text/plain, Size: 6022 bytes --]
I can't find patch 1 in the series in my email so putting a few comments
here. I really hope this patch series can wait for PRs so code comments
can more easily be correlated with code change.
Looking at your PR with commit: Allocate Varaible cache buffer in PEI by
td36 · Pull Request #5607 · tianocore/edk2 (github.com)
<https://github.com/tianocore/edk2/pull/5607/commits/36c2cac5fa4196be7fc85d842e8056e376010479>
A few comments for now.
Variable is spelled incorrectly in commit message.
I would really prefer to not mix PCDs and Hobs. It is really confusing
what has to be turned on and set to what to get the different
behaviors. For a hob producer it is OK to take that info from PCDs but
lets not mix in the consumer code PCDs and hob data. The HOB definition
should not reference a PCD and a HOB definition should not be focused on
producer/consumer but on the data.
The existence of a hob is also a good indicator that a feature is used
so you may not need to have "enable" PCDs anymore.
Please don't include other header files in public header files
(especially for super common headers like PiPei.h. i know over the last
few years this practice has become more common but it just creates pain
when debugging build errors. The trade off is not worth it.
Hobs really shouldn't use UINTN sizes. Since hobs helps transfer config
state across phases where the size of UINTN may be different this causes
problems.
Hobs used for cross phase sharing shouldn't have pointers for the reason.
Better and more complete comments on the different field members would
be helpful. I assume the "Buffer" fields are physical addresses and the
"Pages" are number of 4K pages. I would suggest EFI_PHYSICAL_ADDRESS
for addresses and UINT64 for lengths.
More details on what the three cache's are would be helpful or at least
reference the feature of the cache they are supporting.
This hob definition file isn't perfect and I believe some of the comment
in the file header belong in different places, it is at least a good
template for a hob definition.
edk2/MdeModulePkg/Include/Guid/VariableFlashInfo.h at
284dbac43da752ee34825c8b3f6f9e8281cb5a19 · tianocore/edk2 (github.com)
<https://github.com/tianocore/edk2/blob/284dbac43da752ee34825c8b3f6f9e8281cb5a19/MdeModulePkg/Include/Guid/VariableFlashInfo.h>
Thanks
Sean
On 5/17/2024 2:49 AM, duntan wrote:
> This patch set defines a new VARIABLE_RUNTIME_CACHE_INFO HOB. The HOB is used to store the address and size of the buffer that will be used for variable runtime service when the PcdEnableVariableRuntimeCache is TRUE.
> In following patches, when PcdEnableVariableRuntimeCache is TRUE, VariablePei will install a callback of gEfiPeiMemoryDiscoveredPpiGuid to allocate the needed buffer for different type variable runtime cache and build the HOB.
> Then VariableSmmRuntimeDxe driver will consume gEdkiiVariableRuntimeCacheInfoHobGuid to initialize the variable runtime cache related content. The code to allocate and unblock the runtime cache buffer in VariableSmmRuntimeDxe is also removed in this patc set.
>
> PR for review:https://github.com/tianocore/edk2/pull/5607
>
> Cc: Ray Ni<ray.ni@intel.com>
> Cc: Liming Gao<gaoliming@byosoft.com.cn>
> Cc: Jiaxin Wu<jiaxin.wu@intel.com>
> Cc: Ard Biesheuvel<ardb+tianocore@kernel.org>
> Cc: Leif Lindholm<quic_llindhol@quicinc.com>
> Cc: Sami Mujawar<sami.mujawar@arm.com>
> Cc: Gerd Hoffmann<kraxel@redhat.com>
> Cc: Andrew Fish<afish@apple.com>
> Cc: Jiewen Yao<jiewen.yao@intel.com>
>
> Dun Tan (9):
> MdeModulePkg:Add new gEdkiiVariableRuntimeCacheInfoHobGuid
> ArmVirtPkg: Add MmUnblockMemoryLib in DSC
> EmulatorPkg: Add MmUnblockMemoryLib in DSC
> OvmfPkg: Add MmUnblockMemoryLib in DSC
> MdeModulePkg:Create gEdkiiVariableRuntimeCacheInfoHobGuid
> MdeModulePkg:Remove unnecessary global variable
> MdeModulePkg:Consume gEdkiiVariableRuntimeCacheInfoHobGuid
> MdeModulePkg: Refine InitVariableCache()
> MdeModulePkg:Add global variable mVariableRtCacheInfo
>
> ArmVirtPkg/ArmVirtCloudHv.dsc | 2 ++
> EmulatorPkg/EmulatorPkg.dsc | 1 +
> MdeModulePkg/Include/Guid/VariableRuntimeCacheInfo.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> MdeModulePkg/MdeModulePkg.dec | 3 +++
> MdeModulePkg/Universal/Variable/Pei/Variable.c | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> MdeModulePkg/Universal/Variable/Pei/Variable.h | 3 +++
> MdeModulePkg/Universal/Variable/Pei/VariablePei.inf | 8 +++++++-
> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.c | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf | 5 +++--
> OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
> 10 files changed, 506 insertions(+), 174 deletions(-)
> create mode 100644 MdeModulePkg/Include/Guid/VariableRuntimeCacheInfo.h
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119089): https://edk2.groups.io/g/devel/message/119089
Mute This Topic: https://groups.io/mt/106150796/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 8056 bytes --]
next prev parent reply other threads:[~2024-05-20 18:16 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-17 9:49 [edk2-devel] [PATCH 0/9] Allocate and unblock variable runtime cache buffer in PEI duntan
2024-05-17 9:49 ` [edk2-devel] [PATCH 1/9] MdeModulePkg:Add new gEdkiiVariableRuntimeCacheInfoHobGuid duntan
2024-05-17 11:49 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 2/9] ArmVirtPkg: Add MmUnblockMemoryLib in DSC duntan
2024-05-17 11:50 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 3/9] EmulatorPkg: " duntan
2024-05-17 11:54 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 4/9] OvmfPkg: " duntan
2024-05-17 11:55 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 5/9] MdeModulePkg:Create gEdkiiVariableRuntimeCacheInfoHobGuid duntan
2024-05-17 12:02 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 6/9] MdeModulePkg:Remove unnecessary global variable duntan
2024-05-17 12:07 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 7/9] MdeModulePkg:Consume gEdkiiVariableRuntimeCacheInfoHobGuid duntan
2024-05-17 12:09 ` Ni, Ray
2024-05-17 17:09 ` Kun Qin via groups.io
2024-05-20 7:07 ` Ni, Ray
2024-05-22 1:30 ` Kenneth Lautner
2024-05-17 12:17 ` Ni, Ray
2024-05-17 9:49 ` [edk2-devel] [PATCH 8/9] MdeModulePkg: Refine InitVariableCache() duntan
2024-05-17 9:49 ` [edk2-devel] [PATCH 9/9] MdeModulePkg:Add global variable mVariableRtCacheInfo duntan
2024-05-17 12:30 ` Ni, Ray
2024-05-20 1:01 ` [edk2-devel] [PATCH 0/9] Allocate and unblock variable runtime cache buffer in PEI Nhi Pham via groups.io
2024-05-20 6:54 ` Ni, Ray
2024-05-20 1:40 ` 回复: " gaoliming via groups.io
2024-05-20 7:12 ` duntan
2024-05-20 18:16 ` Sean [this message]
2024-05-21 9:25 ` duntan
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=BY3PR19MB490049BD348FFD98901EF32AC8E92@BY3PR19MB4900.namprd19.prod.outlook.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