Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> > -----邮件原件----- > 发件人: Bi, Dandan <dandan...@intel.com> > 发送时间: 2022年7月21日 9:42 > 收件人: Lai, Cosmo <cosmo....@intel.com>; devel@edk2.groups.io > 抄送: Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming > <gaolim...@byosoft.com.cn> > 主题: RE: [PATCH v5] MdeModulePkg/Include: Long debug string is truncated > to 104 char > > Reviewed-by: Dandan Bi <dandan...@intel.com> > > > > Thanks, > Dandan > -----Original Message----- > From: Lai, Cosmo <cosmo....@intel.com> > Sent: Tuesday, July 19, 2022 1:59 PM > To: devel@edk2.groups.io > Cc: Lai, Cosmo <cosmo....@intel.com>; Wang, Jian J <jian.j.w...@intel.com>; > Gao, Liming <gaolim...@byosoft.com.cn>; Bi, Dandan > <dandan...@intel.com> > Subject: [PATCH v5] MdeModulePkg/Include: Long debug string is truncated to > 104 char > > From: Cosmo Lai <cosmo....@intel.com> > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3986 > > The EFI_STATUS_CODE_DATA_MAX_SIZE is defined as 200 in MdeModulePkg. > After reducing 96byte buffer for variable parameters it is limited to only 104 > char debug string. This is a non-necessary limitation. > This change sets EFI_STATUS_CODE_DATA_MAX_SIZE to 0x200, and moves > MAX_EXTENDED_DATA_SIZE definition to the same header file with value of > EFI_STATUS_CODE_DATA_MAX_SIZE + sizeof (EFI_STATUS_CODE_DATA) which > is used in ReportStatusCodeLib to support longer debug string. > > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Dandan Bi <dandan...@intel.com> > > Signed-off-by: Cosmo Lai <cosmo....@intel.com> > --- > MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h | > 10 +++++++++- > .../Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c | 6 > ------ > .../Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c | 5 > ----- > .../RuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c | 5 > ----- > 4 files changed, 9 insertions(+), 17 deletions(-) > > diff --git a/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h > b/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h > index 16203452e4..6f2688064b 100644 > --- a/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h > +++ b/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h > @@ -10,6 +10,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #ifndef > _STATUS_CODE_DATA_TYPE_DEBUG_H_ #define > _STATUS_CODE_DATA_TYPE_DEBUG_H_ > > +#include <Pi/PiStatusCode.h> > + > /// > /// The Global ID used to identify a structure of type EFI_DEBUG_INFO. > /// > @@ -21,7 +23,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent /// > /// The maximum size of an EFI_DEBUG_INFO structure. > /// > -#define EFI_STATUS_CODE_DATA_MAX_SIZE 200 > +#define EFI_STATUS_CODE_DATA_MAX_SIZE 0x200 > + > +/// > +/// Define the maximum extended data size that is supported when a /// > +status code is reported. > +/// > +#define MAX_EXTENDED_DATA_SIZE (EFI_STATUS_CODE_DATA_MAX_SIZE > + > +sizeof(EFI_STATUS_CODE_DATA)) > > /// > /// This structure contains the ErrorLevel passed into the DEBUG() macro, > followed diff --git > a/MdeModulePkg/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c > b/MdeModulePkg/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c > index ed01d8aacb..da254b755f 100644 > --- > a/MdeModulePkg/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c > +++ > b/MdeModulePkg/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c > @@ -19,12 +19,6 @@ > #include <Guid/StatusCodeDataTypeId.h> > #include <Guid/StatusCodeDataTypeDebug.h> > > -// > -// Define the maximum extended data size that is supported when a status > code is -// reported at TPL_HIGH_LEVEL. > -// > -#define MAX_EXTENDED_DATA_SIZE 0x200 > - > EFI_STATUS_CODE_PROTOCOL > *mReportStatusCodeLibStatusCodeProtocol = NULL; > > /** > diff --git > a/MdeModulePkg/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c > b/MdeModulePkg/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c > index b0a5f61cda..71da0e94fc 100644 > --- a/MdeModulePkg/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c > +++ > b/MdeModulePkg/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c > @@ -17,11 +17,6 @@ > #include <Library/OemHookStatusCodeLib.h> #include <Library/PcdLib.h> > > -// > -// Define the maximum extended data size that is supported in the PEI phase > -// -#define MAX_EXTENDED_DATA_SIZE 0x200 > - > /** > Internal worker function that reports a status code through the PEI Status > Code Service or > OEM Hook Status Code Library. > diff --git > a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCod > eLib.c > b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCod > eLib.c > index fdda288d33..8fd20ff239 100644 > --- > a/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCod > eLib.c > +++ > b/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/ReportStatusCod > +++ eLib.c > @@ -21,11 +21,6 @@ > #include <Guid/StatusCodeDataTypeDebug.h> #include > <Guid/EventGroup.h> > > -// > -// Define the maximum extended data size that is supported when a status > code is reported. > -// > -#define MAX_EXTENDED_DATA_SIZE 0x200 > - > EFI_STATUS_CODE_PROTOCOL > *mReportStatusCodeLibStatusCodeProtocol = NULL; > EFI_EVENT > mReportStatusCodeLibVirtualAddressChangeEvent; > EFI_EVENT > mReportStatusCodeLibExitBootServicesEvent; > -- > 2.16.2.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91614): https://edk2.groups.io/g/devel/message/91614 Mute This Topic: https://groups.io/mt/92519879/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-