From: "Liming Gao" <liming.gao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"mw@semihalf.com" <mw@semihalf.com>,
Leif Lindholm <leif@nuviainc.com>
Cc: "Zhang, Shenglei" <shenglei.zhang@intel.com>,
Ard Biesheuvel <ard.biesheuvel@arm.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
Ming Huang <huangming23@huawei.com>, Pete Batard <pete@akeo.ie>
Subject: Re: [edk2-devel] [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES
Date: Fri, 31 Jul 2020 01:55:14 +0000 [thread overview]
Message-ID: <CY4PR11MB15269A162AD53A419860EA36804E0@CY4PR11MB1526.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAPv3WKeDpCnTkKNVDTGstVQ3pt3fA7bgt84qudTKnVtAyo6r3w@mail.gmail.com>
Thanks Marcin.
Leif:
Is there the way to get the fix plan from the platform owner? If so, I can work the plan to merge this change.
Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Marcin Wojtas
Sent: 2020年7月31日 0:09
To: Leif Lindholm <leif@nuviainc.com>
Cc: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io; Zhang, Shenglei <shenglei.zhang@intel.com>; Ard Biesheuvel <ard.biesheuvel@arm.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Ming Huang <huangming23@huawei.com>; Pete Batard <pete@akeo.ie>
Subject: Re: [edk2-devel] [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES
Hi Leif,
śr., 29 lip 2020 o 15:35 Leif Lindholm <leif@nuviainc.com> napisał(a):
>
> Right, so the following platforms break once this patch is merged:
>
> - AMD Overdrive, Overdrive 1000, Cello
> - Hisilicon D03, D05, D06 (some of these due to binary drivers in
> edk2-non-osi)
> - Marvell Armada 78x0/80x0, MacchiatoBIN
Fix for Marvell platforms submitted:
https://edk2.groups.io/g/devel/message/63472
Best regards,
Marcin
> - Raspberry Pi 3/4
>
> I think this provides enough argument to push this patch at least
> until after August stable tag.
>
> As far as I can tell, all of these are due to the PcdSet And
> UnicodeStrToAsciiStr functions/macros disappearing. Presumably these
> should be replaced with their S-suffixed counterparts.
>
> Maintainers/reviewers on cc. I'd appreciate if you could update and
> sanity check your platforms and send out patches.
>
> Best Regards,
>
> Leif
>
> On Wed, Jul 29, 2020 at 13:24:15 +0100, Leif Lindholm wrote:
> > Thanks Liming,
> >
> > Yes, this does affect several ARM platforms. Currently running a build
> > test to determine just how many. My preference would be for a change
> > of this magnitude to go in just after a stable tag - what, if any, are
> > the plans for this patch?
> >
> > Best Regards,
> >
> > Leif
> >
> > On Wed, Jul 29, 2020 at 07:55:09 +0000, Gao, Liming wrote:
> > > Include Leif and Ard. This change may impact ARM platform.
> > >
> > > Thanks
> > > Liming
> > > -----Original Message-----
> > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Liming Gao
> > > Sent: 2020年6月9日 21:08
> > > To: Zhang, Shenglei <shenglei.zhang@intel.com>; devel@edk2.groups.io
> > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>
> > > Subject: Re: [edk2-devel] [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES
> > >
> > > Shenglei:
> > > Please also remove the deprecated code in MdeModulePkg.
> > >
> > > Thanks
> > > Liming
> > > > -----Original Message-----
> > > > From: Zhang, Shenglei <shenglei.zhang@intel.com>
> > > > Sent: Friday, June 5, 2020 4:13 PM
> > > > To: devel@edk2.groups.io
> > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>
> > > > Subject: [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES
> > > >
> > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2777
> > > > Code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES is deprecated.
> > > > So remove it.
> > > >
> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > > Cc: Liming Gao <liming.gao@intel.com>
> > > > Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> > > > ---
> > > > MdePkg/Library/BaseLib/String.c | 626 -------------------------
> > > > MdePkg/Library/BasePcdLibNull/PcdLib.c | 361 --------------
> > > > MdePkg/Library/BasePrintLib/PrintLib.c | 118 -----
> > > > MdePkg/Library/DxePcdLib/DxePcdLib.c | 399 ----------------
> > > > MdePkg/Library/PeiPcdLib/PeiPcdLib.c | 397 ----------------
> > > > MdePkg/Library/UefiLib/UefiLib.c | 92 ----
> > > > MdePkg/Include/Library/BaseLib.h | 409 ----------------
> > > > MdePkg/Include/Library/PcdLib.h | 520 --------------------
> > > > MdePkg/Include/Library/PrintLib.h | 110 -----
> > > > MdePkg/Include/Library/UefiLib.h | 53 ---
> > > > MdePkg/MdePkg.dsc | 1 -
> > > > 11 files changed, 3086 deletions(-)
> > > >
> > > > diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c
> > > > index 45198373f25c..f4854f357e3a 100644
> > > > --- a/MdePkg/Library/BaseLib/String.c
> > > > +++ b/MdePkg/Library/BaseLib/String.c
> > > > @@ -8,135 +8,6 @@
> > > >
> > > > #include "BaseLibInternals.h"
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Copies one Null-terminated Unicode string to another Null-terminated Unicode
> > > > - string and returns the new Unicode string.
> > > > -
> > > > - This function copies the contents of the Unicode string Source to the Unicode
> > > > - string Destination, and returns Destination. If Source and Destination
> > > > - overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated Unicode string.
> > > > - @param Source A pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrCpy (
> > > > - OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source
> > > > - )
> > > > -{
> > > > - CHAR16 *ReturnValue;
> > > > -
> > > > - //
> > > > - // Destination cannot be NULL
> > > > - //
> > > > - ASSERT (Destination != NULL);
> > > > - ASSERT (((UINTN) Destination & BIT0) == 0);
> > > > -
> > > > - //
> > > > - // Destination and source cannot overlap
> > > > - //
> > > > - ASSERT ((UINTN)(Destination - Source) > StrLen (Source));
> > > > - ASSERT ((UINTN)(Source - Destination) > StrLen (Source));
> > > > -
> > > > - ReturnValue = Destination;
> > > > - while (*Source != 0) {
> > > > - *(Destination++) = *(Source++);
> > > > - }
> > > > - *Destination = 0;
> > > > - return ReturnValue;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Copies up to a specified length from one Null-terminated Unicode string to
> > > > - another Null-terminated Unicode string and returns the new Unicode string.
> > > > -
> > > > - This function copies the contents of the Unicode string Source to the Unicode
> > > > - string Destination, and returns Destination. At most, Length Unicode
> > > > - characters are copied from Source to Destination. If Length is 0, then
> > > > - Destination is returned unmodified. If Length is greater that the number of
> > > > - Unicode characters in Source, then Destination is padded with Null Unicode
> > > > - characters. If Source and Destination overlap, then the results are
> > > > - undefined.
> > > > -
> > > > - If Length > 0 and Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
> > > > - PcdMaximumUnicodeStringLength, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated Unicode string.
> > > > - @param Source A pointer to a Null-terminated Unicode string.
> > > > - @param Length The maximum number of Unicode characters to copy.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrnCpy (
> > > > - OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source,
> > > > - IN UINTN Length
> > > > - )
> > > > -{
> > > > - CHAR16 *ReturnValue;
> > > > -
> > > > - if (Length == 0) {
> > > > - return Destination;
> > > > - }
> > > > -
> > > > - //
> > > > - // Destination cannot be NULL if Length is not zero
> > > > - //
> > > > - ASSERT (Destination != NULL);
> > > > - ASSERT (((UINTN) Destination & BIT0) == 0);
> > > > -
> > > > - //
> > > > - // Destination and source cannot overlap
> > > > - //
> > > > - ASSERT ((UINTN)(Destination - Source) > StrLen (Source));
> > > > - ASSERT ((UINTN)(Source - Destination) >= Length);
> > > > -
> > > > - if (PcdGet32 (PcdMaximumUnicodeStringLength) != 0) {
> > > > - ASSERT (Length <= PcdGet32 (PcdMaximumUnicodeStringLength));
> > > > - }
> > > > -
> > > > - ReturnValue = Destination;
> > > > -
> > > > - while ((*Source != L'\0') && (Length > 0)) {
> > > > - *(Destination++) = *(Source++);
> > > > - Length--;
> > > > - }
> > > > -
> > > > - ZeroMem (Destination, Length * sizeof (*Destination));
> > > > - return ReturnValue;
> > > > -}
> > > > -#endif
> > > >
> > > > /**
> > > > Returns the length of a Null-terminated Unicode string.
> > > > @@ -320,121 +191,6 @@ StrnCmp (
> > > > return *FirstString - *SecondString;
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Concatenates one Null-terminated Unicode string to another Null-terminated
> > > > - Unicode string, and returns the concatenated Unicode string.
> > > > -
> > > > - This function concatenates two Null-terminated Unicode strings. The contents
> > > > - of Null-terminated Unicode string Source are concatenated to the end of
> > > > - Null-terminated Unicode string Destination. The Null-terminated concatenated
> > > > - Unicode String is returned. If Source and Destination overlap, then the
> > > > - results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
> > > > - than PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
> > > > - and Source results in a Unicode string with more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated Unicode string.
> > > > - @param Source A pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrCat (
> > > > - IN OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source
> > > > - )
> > > > -{
> > > > - StrCpy (Destination + StrLen (Destination), Source);
> > > > -
> > > > - //
> > > > - // Size of the resulting string should never be zero.
> > > > - // PcdMaximumUnicodeStringLength is tested inside StrLen().
> > > > - //
> > > > - ASSERT (StrSize (Destination) != 0);
> > > > - return Destination;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Concatenates up to a specified length one Null-terminated Unicode to the end
> > > > - of another Null-terminated Unicode string, and returns the concatenated
> > > > - Unicode string.
> > > > -
> > > > - This function concatenates two Null-terminated Unicode strings. The contents
> > > > - of Null-terminated Unicode string Source are concatenated to the end of
> > > > - Null-terminated Unicode string Destination, and Destination is returned. At
> > > > - most, Length Unicode characters are concatenated from Source to the end of
> > > > - Destination, and Destination is always Null-terminated. If Length is 0, then
> > > > - Destination is returned unmodified. If Source and Destination overlap, then
> > > > - the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
> > > > - PcdMaximumUnicodeStringLength, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
> > > > - than PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
> > > > - and Source results in a Unicode string with more than PcdMaximumUnicodeStringLength
> > > > - Unicode characters, not including the Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated Unicode string.
> > > > - @param Source A pointer to a Null-terminated Unicode string.
> > > > - @param Length The maximum number of Unicode characters to concatenate from
> > > > - Source.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrnCat (
> > > > - IN OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source,
> > > > - IN UINTN Length
> > > > - )
> > > > -{
> > > > - UINTN DestinationLen;
> > > > -
> > > > - DestinationLen = StrLen (Destination);
> > > > - StrnCpy (Destination + DestinationLen, Source, Length);
> > > > - Destination[DestinationLen + Length] = L'\0';
> > > > -
> > > > - //
> > > > - // Size of the resulting string should never be zero.
> > > > - // PcdMaximumUnicodeStringLength is tested inside StrLen().
> > > > - //
> > > > - ASSERT (StrSize (Destination) != 0);
> > > > - return Destination;
> > > > -}
> > > > -#endif
> > > >
> > > > /**
> > > > Returns the first occurrence of a Null-terminated Unicode sub-string
> > > > @@ -845,208 +601,6 @@ InternalAsciiIsHexaDecimalDigitCharacter (
> > > > (Char >= 'a' && Char <= 'f'));
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Convert a Null-terminated Unicode string to a Null-terminated
> > > > - ASCII string and returns the ASCII string.
> > > > -
> > > > - This function converts the content of the Unicode string Source
> > > > - to the ASCII string Destination by copying the lower 8 bits of
> > > > - each Unicode character. It returns Destination.
> > > > -
> > > > - The caller is responsible to make sure Destination points to a buffer with size
> > > > - equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.
> > > > -
> > > > - If any Unicode characters in Source contain non-zero value in
> > > > - the upper 8 bits, then ASSERT().
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > -
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains
> > > > - more than PcdMaximumUnicodeStringLength Unicode characters, not including
> > > > - the Null-terminator, then ASSERT().
> > > > -
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more
> > > > - than PcdMaximumAsciiStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Source A pointer to a Null-terminated Unicode string.
> > > > - @param Destination A pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -UnicodeStrToAsciiStr (
> > > > - IN CONST CHAR16 *Source,
> > > > - OUT CHAR8 *Destination
> > > > - )
> > > > -{
> > > > - CHAR8 *ReturnValue;
> > > > -
> > > > - ASSERT (Destination != NULL);
> > > > -
> > > > - //
> > > > - // ASSERT if Source is long than PcdMaximumUnicodeStringLength.
> > > > - // Length tests are performed inside StrLen().
> > > > - //
> > > > - ASSERT (StrSize (Source) != 0);
> > > > -
> > > > - //
> > > > - // Source and Destination should not overlap
> > > > - //
> > > > - ASSERT ((UINTN) (Destination - (CHAR8 *) Source) >= StrSize (Source));
> > > > - ASSERT ((UINTN) ((CHAR8 *) Source - Destination) > StrLen (Source));
> > > > -
> > > > -
> > > > - ReturnValue = Destination;
> > > > - while (*Source != '\0') {
> > > > - //
> > > > - // If any Unicode characters in Source contain
> > > > - // non-zero value in the upper 8 bits, then ASSERT().
> > > > - //
> > > > - ASSERT (*Source < 0x100);
> > > > - *(Destination++) = (CHAR8) *(Source++);
> > > > - }
> > > > -
> > > > - *Destination = '\0';
> > > > -
> > > > - //
> > > > - // ASSERT Original Destination is less long than PcdMaximumAsciiStringLength.
> > > > - // Length tests are performed inside AsciiStrLen().
> > > > - //
> > > > - ASSERT (AsciiStrSize (ReturnValue) != 0);
> > > > -
> > > > - return ReturnValue;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Copies one Null-terminated ASCII string to another Null-terminated ASCII
> > > > - string and returns the new ASCII string.
> > > > -
> > > > - This function copies the contents of the ASCII string Source to the ASCII
> > > > - string Destination, and returns Destination. If Source and Destination
> > > > - overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated ASCII string.
> > > > - @param Source A pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrCpy (
> > > > - OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source
> > > > - )
> > > > -{
> > > > - CHAR8 *ReturnValue;
> > > > -
> > > > - //
> > > > - // Destination cannot be NULL
> > > > - //
> > > > - ASSERT (Destination != NULL);
> > > > -
> > > > - //
> > > > - // Destination and source cannot overlap
> > > > - //
> > > > - ASSERT ((UINTN)(Destination - Source) > AsciiStrLen (Source));
> > > > - ASSERT ((UINTN)(Source - Destination) > AsciiStrLen (Source));
> > > > -
> > > > - ReturnValue = Destination;
> > > > - while (*Source != 0) {
> > > > - *(Destination++) = *(Source++);
> > > > - }
> > > > - *Destination = 0;
> > > > - return ReturnValue;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Copies up to a specified length one Null-terminated ASCII string to another
> > > > - Null-terminated ASCII string and returns the new ASCII string.
> > > > -
> > > > - This function copies the contents of the ASCII string Source to the ASCII
> > > > - string Destination, and returns Destination. At most, Length ASCII characters
> > > > - are copied from Source to Destination. If Length is 0, then Destination is
> > > > - returned unmodified. If Length is greater that the number of ASCII characters
> > > > - in Source, then Destination is padded with Null ASCII characters. If Source
> > > > - and Destination overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Length is greater than
> > > > - PcdMaximumAsciiStringLength, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated ASCII string.
> > > > - @param Source A pointer to a Null-terminated ASCII string.
> > > > - @param Length The maximum number of ASCII characters to copy.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrnCpy (
> > > > - OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source,
> > > > - IN UINTN Length
> > > > - )
> > > > -{
> > > > - CHAR8 *ReturnValue;
> > > > -
> > > > - if (Length == 0) {
> > > > - return Destination;
> > > > - }
> > > > -
> > > > - //
> > > > - // Destination cannot be NULL
> > > > - //
> > > > - ASSERT (Destination != NULL);
> > > > -
> > > > - //
> > > > - // Destination and source cannot overlap
> > > > - //
> > > > - ASSERT ((UINTN)(Destination - Source) > AsciiStrLen (Source));
> > > > - ASSERT ((UINTN)(Source - Destination) >= Length);
> > > > -
> > > > - if (PcdGet32 (PcdMaximumAsciiStringLength) != 0) {
> > > > - ASSERT (Length <= PcdGet32 (PcdMaximumAsciiStringLength));
> > > > - }
> > > > -
> > > > - ReturnValue = Destination;
> > > > -
> > > > - while (*Source != 0 && Length > 0) {
> > > > - *(Destination++) = *(Source++);
> > > > - Length--;
> > > > - }
> > > > -
> > > > - ZeroMem (Destination, Length * sizeof (*Destination));
> > > > - return ReturnValue;
> > > > -}
> > > > -#endif
> > > >
> > > > /**
> > > > Returns the length of a Null-terminated ASCII string.
> > > > @@ -1329,114 +883,6 @@ AsciiStrnCmp (
> > > > return *FirstString - *SecondString;
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Concatenates one Null-terminated ASCII string to another Null-terminated
> > > > - ASCII string, and returns the concatenated ASCII string.
> > > > -
> > > > - This function concatenates two Null-terminated ASCII strings. The contents of
> > > > - Null-terminated ASCII string Source are concatenated to the end of Null-
> > > > - terminated ASCII string Destination. The Null-terminated concatenated ASCII
> > > > - String is returned.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Destination contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and concatenating Destination and
> > > > - Source results in a ASCII string with more than PcdMaximumAsciiStringLength
> > > > - ASCII characters, then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated ASCII string.
> > > > - @param Source A pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrCat (
> > > > - IN OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source
> > > > - )
> > > > -{
> > > > - AsciiStrCpy (Destination + AsciiStrLen (Destination), Source);
> > > > -
> > > > - //
> > > > - // Size of the resulting string should never be zero.
> > > > - // PcdMaximumUnicodeStringLength is tested inside StrLen().
> > > > - //
> > > > - ASSERT (AsciiStrSize (Destination) != 0);
> > > > - return Destination;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Concatenates up to a specified length one Null-terminated ASCII string to
> > > > - the end of another Null-terminated ASCII string, and returns the
> > > > - concatenated ASCII string.
> > > > -
> > > > - This function concatenates two Null-terminated ASCII strings. The contents
> > > > - of Null-terminated ASCII string Source are concatenated to the end of Null-
> > > > - terminated ASCII string Destination, and Destination is returned. At most,
> > > > - Length ASCII characters are concatenated from Source to the end of
> > > > - Destination, and Destination is always Null-terminated. If Length is 0, then
> > > > - Destination is returned unmodified. If Source and Destination overlap, then
> > > > - the results are undefined.
> > > > -
> > > > - If Length > 0 and Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Length is greater than
> > > > - PcdMaximumAsciiStringLength, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Destination contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and
> > > > - Source results in a ASCII string with more than PcdMaximumAsciiStringLength
> > > > - ASCII characters, not including the Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination A pointer to a Null-terminated ASCII string.
> > > > - @param Source A pointer to a Null-terminated ASCII string.
> > > > - @param Length The maximum number of ASCII characters to concatenate from
> > > > - Source.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrnCat (
> > > > - IN OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source,
> > > > - IN UINTN Length
> > > > - )
> > > > -{
> > > > - UINTN DestinationLen;
> > > > -
> > > > - DestinationLen = AsciiStrLen (Destination);
> > > > - AsciiStrnCpy (Destination + DestinationLen, Source, Length);
> > > > - Destination[DestinationLen + Length] = '\0';
> > > > -
> > > > - //
> > > > - // Size of the resulting string should never be zero.
> > > > - // PcdMaximumUnicodeStringLength is tested inside StrLen().
> > > > - //
> > > > - ASSERT (AsciiStrSize (Destination) != 0);
> > > > - return Destination;
> > > > -}
> > > > -#endif
> > > >
> > > > /**
> > > > Returns the first occurrence of a Null-terminated ASCII sub-string
> > > > @@ -1684,78 +1130,6 @@ AsciiStrHexToUint64 (
> > > > return Result;
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Convert one Null-terminated ASCII string to a Null-terminated
> > > > - Unicode string and returns the Unicode string.
> > > > -
> > > > - This function converts the contents of the ASCII string Source to the Unicode
> > > > - string Destination, and returns Destination. The function terminates the
> > > > - Unicode string Destination by appending a Null-terminator character at the end.
> > > > - The caller is responsible to make sure Destination points to a buffer with size
> > > > - equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength ASCII characters not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Source A pointer to a Null-terminated ASCII string.
> > > > - @param Destination A pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -AsciiStrToUnicodeStr (
> > > > - IN CONST CHAR8 *Source,
> > > > - OUT CHAR16 *Destination
> > > > - )
> > > > -{
> > > > - CHAR16 *ReturnValue;
> > > > -
> > > > - ASSERT (Destination != NULL);
> > > > -
> > > > - //
> > > > - // ASSERT Source is less long than PcdMaximumAsciiStringLength
> > > > - //
> > > > - ASSERT (AsciiStrSize (Source) != 0);
> > > > -
> > > > - //
> > > > - // Source and Destination should not overlap
> > > > - //
> > > > - ASSERT ((UINTN) ((CHAR8 *) Destination - Source) > AsciiStrLen (Source));
> > > > - ASSERT ((UINTN) (Source - (CHAR8 *) Destination) >= (AsciiStrSize (Source) * sizeof (CHAR16)));
> > > > -
> > > > -
> > > > - ReturnValue = Destination;
> > > > - while (*Source != '\0') {
> > > > - *(Destination++) = (CHAR16)(UINT8) *(Source++);
> > > > - }
> > > > - //
> > > > - // End the Destination with a NULL.
> > > > - //
> > > > - *Destination = '\0';
> > > > -
> > > > - //
> > > > - // ASSERT Original Destination is less long than PcdMaximumUnicodeStringLength
> > > > - //
> > > > - ASSERT (StrSize (ReturnValue) != 0);
> > > > -
> > > > - return ReturnValue;
> > > > -}
> > > > -
> > > > -#endif
> > > >
> > > > STATIC CHAR8 EncodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
> > > > "abcdefghijklmnopqrstuvwxyz"
> > > > diff --git a/MdePkg/Library/BasePcdLibNull/PcdLib.c b/MdePkg/Library/BasePcdLibNull/PcdLib.c
> > > > index 49447880ae8b..265fae5d7368 100644
> > > > --- a/MdePkg/Library/BasePcdLibNull/PcdLib.c
> > > > +++ b/MdePkg/Library/BasePcdLibNull/PcdLib.c
> > > > @@ -386,367 +386,6 @@ LibPcdGetExSize (
> > > > }
> > > >
> > > >
> > > > -
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSet8 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSet16 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSet32 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSet64 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value
> > > > - specified by Buffer and SizeOfBuffer. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size support by TokenNumber,
> > > > - then set SizeOfBuffer to the maximum size supported by TokenNumber and
> > > > - return NULL to indicate that the set operation was not actually performed.
> > > > -
> > > > - If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
> > > > - maximum size supported by TokenName and NULL must be returned.
> > > > -
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer for the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetPtr (
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN CONST VOID *Buffer
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return NULL;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetBool (
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return FALSE;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSetEx8 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSetEx16 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSetEx32 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSetEx64 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return 0;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value specified by
> > > > - Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
> > > > - the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
> > > > - supported by TokenNumber and return NULL to indicate that the set operation
> > > > - was not actually performed.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pinter to the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetExPtr (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN VOID *Buffer
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return NULL;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The Boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetExBool (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - ASSERT (FALSE);
> > > > -
> > > > - return FALSE;
> > > > -}
> > > > -#endif
> > > > -
> > > > /**
> > > > This function provides a means by which to set a value for a given PCD token.
> > > >
> > > > diff --git a/MdePkg/Library/BasePrintLib/PrintLib.c b/MdePkg/Library/BasePrintLib/PrintLib.c
> > > > index af771652e4b0..8bfbab05f58c 100644
> > > > --- a/MdePkg/Library/BasePrintLib/PrintLib.c
> > > > +++ b/MdePkg/Library/BasePrintLib/PrintLib.c
> > > > @@ -343,65 +343,6 @@ UnicodeSPrintAsciiFormat (
> > > > return NumberOfPrinted;
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Converts a decimal value to a Null-terminated Unicode string.
> > > > -
> > > > - Converts the decimal number specified by Value to a Null-terminated Unicode
> > > > - string specified by Buffer containing at most Width characters. No padding of spaces
> > > > - is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
> > > > - The number of Unicode characters in Buffer is returned not including the Null-terminator.
> > > > - If the conversion contains more than Width characters, then only the first
> > > > - Width characters are returned, and the total number of characters
> > > > - required to perform the conversion is returned.
> > > > - Additional conversion parameters are specified in Flags.
> > > > -
> > > > - The Flags bit LEFT_JUSTIFY is always ignored.
> > > > - All conversions are left justified in Buffer.
> > > > - If Width is 0, PREFIX_ZERO is ignored in Flags.
> > > > - If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
> > > > - are inserted every 3rd digit starting from the right.
> > > > - If RADIX_HEX is set in Flags, then the output buffer will be
> > > > - formatted in hexadecimal format.
> > > > - If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
> > > > - If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
> > > > - then Buffer is padded with '0' characters so the combination of the optional '-'
> > > > - sign character, '0' characters, digit characters for Value, and the Null-terminator
> > > > - add up to Width characters.
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Buffer is NULL, then ASSERT().
> > > > - If Buffer is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If unsupported bits are set in Flags, then ASSERT().
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
> > > > -
> > > > - @param Buffer The pointer to the output buffer for the produced Null-terminated
> > > > - Unicode string.
> > > > - @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
> > > > - @param Value The 64-bit signed value to convert to a string.
> > > > - @param Width The maximum number of Unicode characters to place in Buffer, not including
> > > > - the Null-terminator.
> > > > -
> > > > - @return The number of Unicode characters in Buffer not including the Null-terminator.
> > > > -
> > > > -**/
> > > > -UINTN
> > > > -EFIAPI
> > > > -UnicodeValueToString (
> > > > - IN OUT CHAR16 *Buffer,
> > > > - IN UINTN Flags,
> > > > - IN INT64 Value,
> > > > - IN UINTN Width
> > > > - )
> > > > -{
> > > > - ASSERT_UNICODE_BUFFER(Buffer);
> > > > - return BasePrintLibConvertValueToString ((CHAR8 *)Buffer, Flags, Value, Width, 2);
> > > > -}
> > > > -
> > > > -#endif
> > > >
> > > > /**
> > > > Converts a decimal value to a Null-terminated Unicode string.
> > > > @@ -780,65 +721,6 @@ AsciiSPrintUnicodeFormat (
> > > > return NumberOfPrinted;
> > > > }
> > > >
> > > > -
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Converts a decimal value to a Null-terminated ASCII string.
> > > > -
> > > > - Converts the decimal number specified by Value to a Null-terminated ASCII string
> > > > - specified by Buffer containing at most Width characters. No padding of spaces
> > > > - is ever performed.
> > > > - If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
> > > > - The number of ASCII characters in Buffer is returned not including the Null-terminator.
> > > > - If the conversion contains more than Width characters, then only the first Width
> > > > - characters are returned, and the total number of characters required to perform
> > > > - the conversion is returned.
> > > > - Additional conversion parameters are specified in Flags.
> > > > - The Flags bit LEFT_JUSTIFY is always ignored.
> > > > - All conversions are left justified in Buffer.
> > > > - If Width is 0, PREFIX_ZERO is ignored in Flags.
> > > > - If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
> > > > - are inserted every 3rd digit starting from the right.
> > > > - If RADIX_HEX is set in Flags, then the output buffer will be
> > > > - formatted in hexadecimal format.
> > > > - If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
> > > > - If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
> > > > - then Buffer is padded with '0' characters so the combination of the optional '-'
> > > > - sign character, '0' characters, digit characters for Value, and the Null-terminator
> > > > - add up to Width characters.
> > > > -
> > > > - If Buffer is NULL, then ASSERT().
> > > > - If unsupported bits are set in Flags, then ASSERT().
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
> > > > -
> > > > - @param Buffer The pointer to the output buffer for the produced Null-terminated
> > > > - ASCII string.
> > > > - @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
> > > > - @param Value The 64-bit signed value to convert to a string.
> > > > - @param Width The maximum number of ASCII characters to place in Buffer, not including
> > > > - the Null-terminator.
> > > > -
> > > > - @return The number of ASCII characters in Buffer not including the Null-terminator.
> > > > -
> > > > -**/
> > > > -UINTN
> > > > -EFIAPI
> > > > -AsciiValueToString (
> > > > - OUT CHAR8 *Buffer,
> > > > - IN UINTN Flags,
> > > > - IN INT64 Value,
> > > > - IN UINTN Width
> > > > - )
> > > > -{
> > > > - return BasePrintLibConvertValueToString (Buffer, Flags, Value, Width, 1);
> > > > -}
> > > > -
> > > > -#endif
> > > > -
> > > > /**
> > > > Converts a decimal value to a Null-terminated Ascii string.
> > > >
> > > > diff --git a/MdePkg/Library/DxePcdLib/DxePcdLib.c b/MdePkg/Library/DxePcdLib/DxePcdLib.c
> > > > index 6e3e4e70697f..2accaeda2cd6 100644
> > > > --- a/MdePkg/Library/DxePcdLib/DxePcdLib.c
> > > > +++ b/MdePkg/Library/DxePcdLib/DxePcdLib.c
> > > > @@ -474,405 +474,6 @@ LibPcdGetExSize (
> > > > }
> > > >
> > > >
> > > > -
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSet8 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - GetPcdProtocol()->Set8 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSet16 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - GetPcdProtocol()->Set16 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSet32 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - GetPcdProtocol()->Set32 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSet64 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - GetPcdProtocol()->Set64 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value
> > > > - specified by Buffer and SizeOfBuffer. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size support by TokenNumber,
> > > > - then set SizeOfBuffer to the maximum size supported by TokenNumber and
> > > > - return NULL to indicate that the set operation was not actually performed.
> > > > -
> > > > - If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
> > > > - maximum size supported by TokenName and NULL must be returned.
> > > > -
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer for the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetPtr (
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN CONST VOID *Buffer
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - UINTN InputSizeOfBuffer;
> > > > -
> > > > - ASSERT (SizeOfBuffer != NULL);
> > > > -
> > > > - if (*SizeOfBuffer > 0) {
> > > > - ASSERT (Buffer != NULL);
> > > > - }
> > > > -
> > > > - InputSizeOfBuffer = *SizeOfBuffer;
> > > > - Status = GetPcdProtocol()->SetPtr (TokenNumber, SizeOfBuffer, (VOID *) Buffer);
> > > > - if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - return (VOID *)Buffer;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetBool (
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - GetPcdProtocol()->SetBool (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSetEx8 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - GetPiPcdProtocol()->Set8 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSetEx16 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - GetPiPcdProtocol()->Set16 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSetEx32 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - GetPiPcdProtocol()->Set32 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSetEx64 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - GetPiPcdProtocol()->Set64 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value specified by
> > > > - Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
> > > > - the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
> > > > - supported by TokenNumber and return NULL to indicate that the set operation
> > > > - was not actually performed.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer to the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetExPtr (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN VOID *Buffer
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - UINTN InputSizeOfBuffer;
> > > > -
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - ASSERT (SizeOfBuffer != NULL);
> > > > -
> > > > - if (*SizeOfBuffer > 0) {
> > > > - ASSERT (Buffer != NULL);
> > > > - }
> > > > -
> > > > - InputSizeOfBuffer = *SizeOfBuffer;
> > > > - Status = GetPiPcdProtocol()->SetPtr (Guid, TokenNumber, SizeOfBuffer, Buffer);
> > > > - if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - return Buffer;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The Boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetExBool (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - GetPiPcdProtocol()->SetBool (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -#endif
> > > > -
> > > > /**
> > > > This function provides a means by which to set a value for a given PCD token.
> > > >
> > > > diff --git a/MdePkg/Library/PeiPcdLib/PeiPcdLib.c b/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
> > > > index 916a2c0844eb..d979b28cc8dd 100644
> > > > --- a/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
> > > > +++ b/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
> > > > @@ -474,403 +474,6 @@ LibPcdGetExSize (
> > > > }
> > > >
> > > >
> > > > -
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSet8 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - (GetPcdPpiPointer ())->Set8 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSet16 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - (GetPcdPpiPointer ())->Set16 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSet32 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - (GetPcdPpiPointer ())->Set32 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSet64 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - (GetPcdPpiPointer ())->Set64 (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value
> > > > - specified by Buffer and SizeOfBuffer. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size support by TokenNumber,
> > > > - then set SizeOfBuffer to the maximum size supported by TokenNumber and
> > > > - return NULL to indicate that the set operation was not actually performed.
> > > > -
> > > > - If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
> > > > - maximum size supported by TokenName and NULL must be returned.
> > > > -
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer for the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetPtr (
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN CONST VOID *Buffer
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - UINTN InputSizeOfBuffer;
> > > > -
> > > > - ASSERT (SizeOfBuffer != NULL);
> > > > -
> > > > - if (*SizeOfBuffer > 0) {
> > > > - ASSERT (Buffer != NULL);
> > > > - }
> > > > -
> > > > - InputSizeOfBuffer = *SizeOfBuffer;
> > > > - Status = (GetPcdPpiPointer ())->SetPtr (TokenNumber, SizeOfBuffer, (VOID *) Buffer);
> > > > - if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - return (VOID *) Buffer;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetBool (
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - (GetPcdPpiPointer ())->SetBool (TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSetEx8 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - (GetPiPcdPpiPointer ())->Set8 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSetEx16 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - (GetPiPcdPpiPointer ())->Set16 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSetEx32 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - (GetPiPcdPpiPointer ())->Set32 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSetEx64 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - (GetPiPcdPpiPointer ())->Set64 (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value specified by
> > > > - Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
> > > > - the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
> > > > - supported by TokenNumber and return NULL to indicate that the set operation
> > > > - was not actually performed.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pinter to the buffer been set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetExPtr (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN VOID *Buffer
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - UINTN InputSizeOfBuffer;
> > > > -
> > > > - ASSERT (SizeOfBuffer != NULL);
> > > > - if (*SizeOfBuffer > 0) {
> > > > - ASSERT (Buffer != NULL);
> > > > - }
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - InputSizeOfBuffer = *SizeOfBuffer;
> > > > - Status = (GetPiPcdPpiPointer ())->SetPtr (Guid, TokenNumber, SizeOfBuffer, Buffer);
> > > > - if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - return Buffer;
> > > > -}
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid The pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The Boolean value to set.
> > > > -
> > > > - @return Return the value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetExBool (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - )
> > > > -{
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - (GetPiPcdPpiPointer ())->SetBool (Guid, TokenNumber, Value);
> > > > -
> > > > - return Value;
> > > > -}
> > > > -#endif
> > > > -
> > > > /**
> > > > This function provides a means by which to set a value for a given PCD token.
> > > >
> > > > diff --git a/MdePkg/Library/UefiLib/UefiLib.c b/MdePkg/Library/UefiLib/UefiLib.c
> > > > index 07c45d1e91ff..835218f9824f 100644
> > > > --- a/MdePkg/Library/UefiLib/UefiLib.c
> > > > +++ b/MdePkg/Library/UefiLib/UefiLib.c
> > > > @@ -1285,98 +1285,6 @@ FreeUnicodeStringTable (
> > > > return EFI_SUCCESS;
> > > > }
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Returns a pointer to an allocated buffer that contains the contents of a
> > > > - variable retrieved through the UEFI Runtime Service GetVariable(). The
> > > > - returned buffer is allocated using AllocatePool(). The caller is responsible
> > > > - for freeing this buffer with FreePool().
> > > > -
> > > > - If Name is NULL, then ASSERT().
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Name The pointer to a Null-terminated Unicode string.
> > > > - @param[in] Guid The pointer to an EFI_GUID structure
> > > > -
> > > > - @retval NULL The variable could not be retrieved.
> > > > - @retval NULL There are not enough resources available for the variable contents.
> > > > - @retval Other A pointer to allocated buffer containing the variable contents.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -GetVariable (
> > > > - IN CONST CHAR16 *Name,
> > > > - IN CONST EFI_GUID *Guid
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - UINTN Size;
> > > > - VOID *Value;
> > > > -
> > > > - ASSERT (Name != NULL);
> > > > - ASSERT (Guid != NULL);
> > > > -
> > > > - //
> > > > - // Try to get the variable size.
> > > > - //
> > > > - Value = NULL;
> > > > - Size = 0;
> > > > - Status = gRT->GetVariable ((CHAR16 *) Name, (EFI_GUID *) Guid, NULL, &Size, Value);
> > > > - if (Status != EFI_BUFFER_TOO_SMALL) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - //
> > > > - // Allocate buffer to get the variable.
> > > > - //
> > > > - Value = AllocatePool (Size);
> > > > - if (Value == NULL) {
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - //
> > > > - // Get the variable data.
> > > > - //
> > > > - Status = gRT->GetVariable ((CHAR16 *) Name, (EFI_GUID *) Guid, NULL, &Size, Value);
> > > > - if (EFI_ERROR (Status)) {
> > > > - FreePool(Value);
> > > > - return NULL;
> > > > - }
> > > > -
> > > > - return Value;
> > > > -}
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Returns a pointer to an allocated buffer that contains the contents of a
> > > > - variable retrieved through the UEFI Runtime Service GetVariable(). This
> > > > - function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.
> > > > - The returned buffer is allocated using AllocatePool(). The caller is
> > > > - responsible for freeing this buffer with FreePool().
> > > > -
> > > > - If Name is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Name The pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @retval NULL The variable could not be retrieved.
> > > > - @retval NULL There are not enough resources available for the variable contents.
> > > > - @retval Other A pointer to allocated buffer containing the variable contents.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -GetEfiGlobalVariable (
> > > > - IN CONST CHAR16 *Name
> > > > - )
> > > > -{
> > > > - return GetVariable (Name, &gEfiGlobalVariableGuid);
> > > > -}
> > > > -#endif
> > > >
> > > > /**
> > > > Returns the status whether get the variable success. The function retrieves
> > > > diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h
> > > > index 8e7b87cbda4e..b92a1a3a4028 100644
> > > > --- a/MdePkg/Include/Library/BaseLib.h
> > > > +++ b/MdePkg/Include/Library/BaseLib.h
> > > > @@ -962,82 +962,6 @@ AsciiStrHexToUint64S (
> > > > );
> > > >
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Copies one Null-terminated Unicode string to another Null-terminated Unicode
> > > > - string and returns the new Unicode string.
> > > > -
> > > > - This function copies the contents of the Unicode string Source to the Unicode
> > > > - string Destination, and returns Destination. If Source and Destination
> > > > - overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated Unicode string.
> > > > - @param Source The pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrCpy (
> > > > - OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Copies up to a specified length from one Null-terminated Unicode string to
> > > > - another Null-terminated Unicode string and returns the new Unicode string.
> > > > -
> > > > - This function copies the contents of the Unicode string Source to the Unicode
> > > > - string Destination, and returns Destination. At most, Length Unicode
> > > > - characters are copied from Source to Destination. If Length is 0, then
> > > > - Destination is returned unmodified. If Length is greater that the number of
> > > > - Unicode characters in Source, then Destination is padded with Null Unicode
> > > > - characters. If Source and Destination overlap, then the results are
> > > > - undefined.
> > > > -
> > > > - If Length > 0 and Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
> > > > - PcdMaximumUnicodeStringLength, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated Unicode string.
> > > > - @param Source The pointer to a Null-terminated Unicode string.
> > > > - @param Length The maximum number of Unicode characters to copy.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrnCpy (
> > > > - OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source,
> > > > - IN UINTN Length
> > > > - );
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > > -
> > > > /**
> > > > Returns the length of a Null-terminated Unicode string.
> > > >
> > > > @@ -1164,99 +1088,6 @@ StrnCmp (
> > > > );
> > > >
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Concatenates one Null-terminated Unicode string to another Null-terminated
> > > > - Unicode string, and returns the concatenated Unicode string.
> > > > -
> > > > - This function concatenates two Null-terminated Unicode strings. The contents
> > > > - of Null-terminated Unicode string Source are concatenated to the end of
> > > > - Null-terminated Unicode string Destination. The Null-terminated concatenated
> > > > - Unicode String is returned. If Source and Destination overlap, then the
> > > > - results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
> > > > - than PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
> > > > - and Source results in a Unicode string with more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated Unicode string.
> > > > - @param Source The pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrCat (
> > > > - IN OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Concatenates up to a specified length one Null-terminated Unicode to the end
> > > > - of another Null-terminated Unicode string, and returns the concatenated
> > > > - Unicode string.
> > > > -
> > > > - This function concatenates two Null-terminated Unicode strings. The contents
> > > > - of Null-terminated Unicode string Source are concatenated to the end of
> > > > - Null-terminated Unicode string Destination, and Destination is returned. At
> > > > - most, Length Unicode characters are concatenated from Source to the end of
> > > > - Destination, and Destination is always Null-terminated. If Length is 0, then
> > > > - Destination is returned unmodified. If Source and Destination overlap, then
> > > > - the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
> > > > - PcdMaximumUnicodeStringLength, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
> > > > - than PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength Unicode characters, not including the
> > > > - Null-terminator, then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
> > > > - and Source results in a Unicode string with more than PcdMaximumUnicodeStringLength
> > > > - Unicode characters, not including the Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated Unicode string.
> > > > - @param Source The pointer to a Null-terminated Unicode string.
> > > > - @param Length The maximum number of Unicode characters to concatenate from
> > > > - Source.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -StrnCat (
> > > > - IN OUT CHAR16 *Destination,
> > > > - IN CONST CHAR16 *Source,
> > > > - IN UINTN Length
> > > > - );
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > > -
> > > > /**
> > > > Returns the first occurrence of a Null-terminated Unicode sub-string
> > > > in a Null-terminated Unicode string.
> > > > @@ -1655,51 +1486,6 @@ StrHexToBytes (
> > > > IN UINTN MaxBufferSize
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Convert a Null-terminated Unicode string to a Null-terminated
> > > > - ASCII string and returns the ASCII string.
> > > > -
> > > > - This function converts the content of the Unicode string Source
> > > > - to the ASCII string Destination by copying the lower 8 bits of
> > > > - each Unicode character. It returns Destination.
> > > > -
> > > > - The caller is responsible to make sure Destination points to a buffer with size
> > > > - equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.
> > > > -
> > > > - If any Unicode characters in Source contain non-zero value in
> > > > - the upper 8 bits, then ASSERT().
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > -
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains
> > > > - more than PcdMaximumUnicodeStringLength Unicode characters not including
> > > > - the Null-terminator, then ASSERT().
> > > > -
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more
> > > > - than PcdMaximumAsciiStringLength Unicode characters not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Source The pointer to a Null-terminated Unicode string.
> > > > - @param Destination The pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -UnicodeStrToAsciiStr (
> > > > - IN CONST CHAR16 *Source,
> > > > - OUT CHAR8 *Destination
> > > > - );
> > > > -
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > >
> > > > /**
> > > > Convert a Null-terminated Unicode string to a Null-terminated
> > > > @@ -1802,76 +1588,6 @@ UnicodeStrnToAsciiStrS (
> > > > OUT UINTN *DestinationLength
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Copies one Null-terminated ASCII string to another Null-terminated ASCII
> > > > - string and returns the new ASCII string.
> > > > -
> > > > - This function copies the contents of the ASCII string Source to the ASCII
> > > > - string Destination, and returns Destination. If Source and Destination
> > > > - overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated ASCII string.
> > > > - @param Source The pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrCpy (
> > > > - OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Copies up to a specified length one Null-terminated ASCII string to another
> > > > - Null-terminated ASCII string and returns the new ASCII string.
> > > > -
> > > > - This function copies the contents of the ASCII string Source to the ASCII
> > > > - string Destination, and returns Destination. At most, Length ASCII characters
> > > > - are copied from Source to Destination. If Length is 0, then Destination is
> > > > - returned unmodified. If Length is greater that the number of ASCII characters
> > > > - in Source, then Destination is padded with Null ASCII characters. If Source
> > > > - and Destination overlap, then the results are undefined.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Length is greater than
> > > > - PcdMaximumAsciiStringLength, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated ASCII string.
> > > > - @param Source The pointer to a Null-terminated ASCII string.
> > > > - @param Length The maximum number of ASCII characters to copy.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrnCpy (
> > > > - OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source,
> > > > - IN UINTN Length
> > > > - );
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > >
> > > > /**
> > > > Returns the length of a Null-terminated ASCII string.
> > > > @@ -2031,92 +1747,6 @@ AsciiStrnCmp (
> > > > );
> > > >
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Concatenates one Null-terminated ASCII string to another Null-terminated
> > > > - ASCII string, and returns the concatenated ASCII string.
> > > > -
> > > > - This function concatenates two Null-terminated ASCII strings. The contents of
> > > > - Null-terminated ASCII string Source are concatenated to the end of Null-
> > > > - terminated ASCII string Destination. The Null-terminated concatenated ASCII
> > > > - String is returned.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Destination contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero and concatenating Destination and
> > > > - Source results in a ASCII string with more than PcdMaximumAsciiStringLength
> > > > - ASCII characters, then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated ASCII string.
> > > > - @param Source The pointer to a Null-terminated ASCII string.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrCat (
> > > > - IN OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Concatenates up to a specified length one Null-terminated ASCII string to
> > > > - the end of another Null-terminated ASCII string, and returns the
> > > > - concatenated ASCII string.
> > > > -
> > > > - This function concatenates two Null-terminated ASCII strings. The contents
> > > > - of Null-terminated ASCII string Source are concatenated to the end of Null-
> > > > - terminated ASCII string Destination, and Destination is returned. At most,
> > > > - Length ASCII characters are concatenated from Source to the end of
> > > > - Destination, and Destination is always Null-terminated. If Length is 0, then
> > > > - Destination is returned unmodified. If Source and Destination overlap, then
> > > > - the results are undefined.
> > > > -
> > > > - If Length > 0 and Destination is NULL, then ASSERT().
> > > > - If Length > 0 and Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Length is greater than
> > > > - PcdMaximumAsciiStringLength, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Destination contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and
> > > > - Source results in a ASCII string with more than PcdMaximumAsciiStringLength
> > > > - ASCII characters, not including the Null-terminator, then ASSERT().
> > > > -
> > > > - @param Destination The pointer to a Null-terminated ASCII string.
> > > > - @param Source The pointer to a Null-terminated ASCII string.
> > > > - @param Length The maximum number of ASCII characters to concatenate from
> > > > - Source.
> > > > -
> > > > - @return Destination
> > > > -
> > > > -**/
> > > > -CHAR8 *
> > > > -EFIAPI
> > > > -AsciiStrnCat (
> > > > - IN OUT CHAR8 *Destination,
> > > > - IN CONST CHAR8 *Source,
> > > > - IN UINTN Length
> > > > - );
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > > -
> > > > /**
> > > > Returns the first occurrence of a Null-terminated ASCII sub-string
> > > > in a Null-terminated ASCII string.
> > > > @@ -2496,45 +2126,6 @@ AsciiStrHexToBytes (
> > > > IN UINTN MaxBufferSize
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Convert one Null-terminated ASCII string to a Null-terminated
> > > > - Unicode string and returns the Unicode string.
> > > > -
> > > > - This function converts the contents of the ASCII string Source to the Unicode
> > > > - string Destination, and returns Destination. The function terminates the
> > > > - Unicode string Destination by appending a Null-terminator character at the end.
> > > > - The caller is responsible to make sure Destination points to a buffer with size
> > > > - equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.
> > > > -
> > > > - If Destination is NULL, then ASSERT().
> > > > - If Destination is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If Source is NULL, then ASSERT().
> > > > - If Source and Destination overlap, then ASSERT().
> > > > - If PcdMaximumAsciiStringLength is not zero, and Source contains more than
> > > > - PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
> > > > - then ASSERT().
> > > > - If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
> > > > - PcdMaximumUnicodeStringLength ASCII characters not including the
> > > > - Null-terminator, then ASSERT().
> > > > -
> > > > - @param Source The pointer to a Null-terminated ASCII string.
> > > > - @param Destination The pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @return Destination.
> > > > -
> > > > -**/
> > > > -CHAR16 *
> > > > -EFIAPI
> > > > -AsciiStrToUnicodeStr (
> > > > - IN CONST CHAR8 *Source,
> > > > - OUT CHAR16 *Destination
> > > > - );
> > > > -
> > > > -#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)
> > > >
> > > > /**
> > > > Convert one Null-terminated ASCII string to a Null-terminated
> > > > diff --git a/MdePkg/Include/Library/PcdLib.h b/MdePkg/Include/Library/PcdLib.h
> > > > index f09053e3cb86..71738857ad19 100644
> > > > --- a/MdePkg/Include/Library/PcdLib.h
> > > > +++ b/MdePkg/Include/Library/PcdLib.h
> > > > @@ -481,106 +481,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > **/
> > > > #define PcdGetExSize(Guid, TokenName) LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - Sets an 8-bit PCD token value based on a token name.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - @param TokenName The name of the PCD token to retrieve a current value for.
> > > > - @param Value The 8-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSet8(TokenName, Value) _PCD_SET_MODE_8_##TokenName ((Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 16-bit PCD token value based on a token name.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - @param TokenName The name of the PCD token to retrieve a current value for.
> > > > - @param Value The 16-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSet16(TokenName, Value) _PCD_SET_MODE_16_##TokenName ((Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 32-bit PCD token value based on a token name.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - @param TokenName The name of the PCD token to retrieve a current value for.
> > > > - @param Value The 32-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSet32(TokenName, Value) _PCD_SET_MODE_32_##TokenName ((Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 64-bit PCD token value based on a token name.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - @param TokenName The name of the PCD token to retrieve a current value for.
> > > > - @param Value The 64-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSet64(TokenName, Value) _PCD_SET_MODE_64_##TokenName ((Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a pointer to a PCD token buffer based on a token name.
> > > > -
> > > > - Sets the buffer for the token specified by TokenName. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size supported by TokenName,
> > > > - then set SizeOfBuffer to the maximum size supported by TokenName and return NULL
> > > > - to indicate that the set operation was not actually performed. If SizeOfBuffer
> > > > - is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported
> > > > - by TokenName and NULL must be returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
> > > > - @param Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer to the Buffer that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetPtr(TokenName, SizeOfBuffer, Buffer) \
> > > > - _PCD_SET_MODE_PTR_##TokenName ((SizeOfBuffer), (Buffer))
> > > > -
> > > > -/**
> > > > - Sets a Boolean PCD token value based on a token name.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space, then the module will not build.
> > > > -
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Buffer The Boolean value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetBool(TokenName, Value) _PCD_SET_MODE_BOOL_##TokenName ((Value))
> > > > -#endif
> > > > -
> > > > /**
> > > > Sets a 8-bit PCD token value based on a token name.
> > > >
> > > > @@ -806,137 +706,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > > >
> > > >
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - Sets an 8-bit PCD token value based on a GUID and a token name.
> > > > -
> > > > - Sets the 8-bit value for the token specified by Guid and TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Value The 8-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetEx8(Guid, TokenName, Value) LibPcdSetEx8 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 16-bit PCD token value based on a GUID and a token name.
> > > > -
> > > > - Sets the 16-bit value for the token specified by Guid and TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Value The 16-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetEx16(Guid, TokenName, Value) LibPcdSetEx16 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 32-bit PCD token value based on a GUID and a token name.
> > > > -
> > > > - Sets the 32-bit value for the token specified by Guid and TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Value The 32-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetEx32(Guid, TokenName, Value) LibPcdSetEx32 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a 64-bit PCD token value based on a GUID and a token name.
> > > > -
> > > > - Sets the 64-bit value for the token specified by Guid and TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Value The 64-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetEx64(Guid, TokenName, Value) LibPcdSetEx64 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a pointer to a PCD token buffer based on a GUID and a token name.
> > > > -
> > > > - Sets the buffer for the token specified by Guid and TokenName. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size supported by Guid and TokenName,
> > > > - then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return
> > > > - NULL to indicate that the set operation was not actually performed. If SizeOfBuffer
> > > > - is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by
> > > > - Guid and TokenName and NULL must be returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
> > > > - @param Buffer Pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer to the Buffer that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetExPtr(Guid, TokenName, SizeOfBuffer, Buffer) \
> > > > - LibPcdSetExPtr ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))
> > > > -
> > > > -
> > > > -/**
> > > > - Sets a Boolean PCD token value based on a GUID and a token name.
> > > > -
> > > > - Sets the Boolean value for the token specified by Guid and TokenName. Value is returned.
> > > > - If TokenName is not a valid token in the token space specified by Guid,
> > > > - then the module will not build.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param Guid Pointer to a 128-bit unique value that designates
> > > > - which namespace to retrieve a value from.
> > > > - @param TokenName The name of the PCD token to set the current value for.
> > > > - @param Value The Boolean value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -#define PcdSetExBool(Guid, TokenName, Value) \
> > > > - LibPcdSetExBool((Guid), PcdTokenEx(Guid,TokenName), (Value))
> > > > -#endif
> > > > -
> > > > /**
> > > > Sets an 8-bit PCD token value based on a GUID and a token name.
> > > >
> > > > @@ -1348,295 +1117,6 @@ LibPcdGetExSize (
> > > > );
> > > >
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSet8 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSet16 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSet32 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSet64 (
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value
> > > > - specified by Buffer and SizeOfBuffer. Buffer is returned.
> > > > - If SizeOfBuffer is greater than the maximum size support by TokenNumber,
> > > > - then set SizeOfBuffer to the maximum size supported by TokenNumber and
> > > > - return NULL to indicate that the set operation was not actually performed.
> > > > -
> > > > - If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
> > > > - maximum size supported by TokenName and NULL must be returned.
> > > > -
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer for the Buffer that was set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetPtr (
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN CONST VOID *Buffer
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber
> > > > - to the value specified by Value. Value is returned.
> > > > -
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The boolean value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetBool (
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 8-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 8-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT8
> > > > -EFIAPI
> > > > -LibPcdSetEx8 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT8 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 16-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 16-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT16
> > > > -EFIAPI
> > > > -LibPcdSetEx16 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT16 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 32-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 32-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT32
> > > > -EFIAPI
> > > > -LibPcdSetEx32 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT32 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the 64-bit value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The 64-bit value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -UINT64
> > > > -EFIAPI
> > > > -LibPcdSetEx64 (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN UINT64 Value
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets a buffer for the token specified by TokenNumber to the value specified by
> > > > - Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
> > > > - the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
> > > > - supported by TokenNumber and return NULL to indicate that the set operation
> > > > - was not actually performed.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > - If SizeOfBuffer is NULL, then ASSERT().
> > > > - If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
> > > > - @param[in] Buffer A pointer to the buffer to set.
> > > > -
> > > > - @return Return the pointer to the Buffer that was set.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -LibPcdSetExPtr (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN OUT UINTN *SizeOfBuffer,
> > > > - IN VOID *Buffer
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - This function provides a means by which to set a value for a given PCD token.
> > > > -
> > > > - Sets the Boolean value for the token specified by TokenNumber and
> > > > - Guid to the value specified by Value. Value is returned.
> > > > -
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Guid Pointer to a 128-bit unique value that
> > > > - designates which namespace to set a value from.
> > > > - @param[in] TokenNumber The PCD token number to set a current value for.
> > > > - @param[in] Value The Boolean value to set.
> > > > -
> > > > - @return Return the Value that was set.
> > > > -
> > > > -**/
> > > > -BOOLEAN
> > > > -EFIAPI
> > > > -LibPcdSetExBool (
> > > > - IN CONST GUID *Guid,
> > > > - IN UINTN TokenNumber,
> > > > - IN BOOLEAN Value
> > > > - );
> > > > -#endif
> > > > -
> > > > /**
> > > > This function provides a means by which to set a value for a given PCD token.
> > > >
> > > > diff --git a/MdePkg/Include/Library/PrintLib.h b/MdePkg/Include/Library/PrintLib.h
> > > > index dfbcd1b340be..0b38da6084e1 100644
> > > > --- a/MdePkg/Include/Library/PrintLib.h
> > > > +++ b/MdePkg/Include/Library/PrintLib.h
> > > > @@ -485,62 +485,6 @@ UnicodeSPrintAsciiFormat (
> > > > ...
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Converts a decimal value to a Null-terminated Unicode string.
> > > > -
> > > > - Converts the decimal number specified by Value to a Null-terminated Unicode
> > > > - string specified by Buffer containing at most Width characters. No padding of spaces
> > > > - is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
> > > > - The number of Unicode characters in Buffer is returned, not including the Null-terminator.
> > > > - If the conversion contains more than Width characters, then only the first
> > > > - Width characters are returned, and the total number of characters
> > > > - required to perform the conversion is returned.
> > > > - Additional conversion parameters are specified in Flags.
> > > > -
> > > > - The Flags bit LEFT_JUSTIFY is always ignored.
> > > > - All conversions are left justified in Buffer.
> > > > - If Width is 0, PREFIX_ZERO is ignored in Flags.
> > > > - If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
> > > > - are inserted every 3rd digit starting from the right.
> > > > - If RADIX_HEX is set in Flags, then the output buffer will be
> > > > - formatted in hexadecimal format.
> > > > - If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
> > > > - If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
> > > > - then Buffer is padded with '0' characters so the combination of the optional '-'
> > > > - sign character, '0' characters, digit characters for Value, and the Null-terminator
> > > > - add up to Width characters.
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Buffer is NULL, then ASSERT().
> > > > - If Buffer is not aligned on a 16-bit boundary, then ASSERT().
> > > > - If unsupported bits are set in Flags, then ASSERT().
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
> > > > -
> > > > - @param Buffer The pointer to the output buffer for the produced Null-terminated
> > > > - Unicode string.
> > > > - @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
> > > > - @param Value The 64-bit signed value to convert to a string.
> > > > - @param Width The maximum number of Unicode characters to place in Buffer, not including
> > > > - the Null-terminator.
> > > > -
> > > > - @return The number of Unicode characters in Buffer, not including the Null-terminator.
> > > > -
> > > > -**/
> > > > -UINTN
> > > > -EFIAPI
> > > > -UnicodeValueToString (
> > > > - IN OUT CHAR16 *Buffer,
> > > > - IN UINTN Flags,
> > > > - IN INT64 Value,
> > > > - IN UINTN Width
> > > > - );
> > > > -
> > > > -#endif
> > > > -
> > > > /**
> > > > Converts a decimal value to a Null-terminated Unicode string.
> > > >
> > > > @@ -882,60 +826,6 @@ AsciiSPrintUnicodeFormat (
> > > > ...
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function is deprecated for security reason.
> > > > -
> > > > - Converts a decimal value to a Null-terminated ASCII string.
> > > > -
> > > > - Converts the decimal number specified by Value to a Null-terminated ASCII string
> > > > - specified by Buffer containing at most Width characters. No padding of spaces
> > > > - is ever performed.
> > > > - If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
> > > > - The number of ASCII characters in Buffer is returned, not including the Null-terminator.
> > > > - If the conversion contains more than Width characters, then only the first Width
> > > > - characters are returned, and the total number of characters required to perform
> > > > - the conversion is returned.
> > > > - Additional conversion parameters are specified in Flags.
> > > > - The Flags bit LEFT_JUSTIFY is always ignored.
> > > > - All conversions are left justified in Buffer.
> > > > - If Width is 0, PREFIX_ZERO is ignored in Flags.
> > > > - If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
> > > > - are inserted every 3rd digit starting from the right.
> > > > - If RADIX_HEX is set in Flags, then the output buffer will be
> > > > - formatted in hexadecimal format.
> > > > - If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
> > > > - If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
> > > > - then Buffer is padded with '0' characters so the combination of the optional '-'
> > > > - sign character, '0' characters, digit characters for Value, and the Null-terminator
> > > > - add up to Width characters.
> > > > -
> > > > - If Buffer is NULL, then ASSERT().
> > > > - If unsupported bits are set in Flags, then ASSERT().
> > > > - If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
> > > > - If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
> > > > -
> > > > - @param Buffer A pointer to the output buffer for the produced Null-terminated
> > > > - ASCII string.
> > > > - @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
> > > > - @param Value The 64-bit signed value to convert to a string.
> > > > - @param Width The maximum number of ASCII characters to place in Buffer, not including
> > > > - the Null-terminator.
> > > > -
> > > > - @return The number of ASCII characters in Buffer, not including the Null-terminator.
> > > > -
> > > > -**/
> > > > -UINTN
> > > > -EFIAPI
> > > > -AsciiValueToString (
> > > > - OUT CHAR8 *Buffer,
> > > > - IN UINTN Flags,
> > > > - IN INT64 Value,
> > > > - IN UINTN Width
> > > > - );
> > > > -
> > > > -#endif
> > > >
> > > > /**
> > > > Converts a decimal value to a Null-terminated Ascii string.
> > > > diff --git a/MdePkg/Include/Library/UefiLib.h b/MdePkg/Include/Library/UefiLib.h
> > > > index 0abb40d6ecbd..f56ffde1230e 100644
> > > > --- a/MdePkg/Include/Library/UefiLib.h
> > > > +++ b/MdePkg/Include/Library/UefiLib.h
> > > > @@ -680,59 +680,6 @@ FreeUnicodeStringTable (
> > > > IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable
> > > > );
> > > >
> > > > -#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Returns a pointer to an allocated buffer that contains the contents of a
> > > > - variable retrieved through the UEFI Runtime Service GetVariable(). The
> > > > - returned buffer is allocated using AllocatePool(). The caller is responsible
> > > > - for freeing this buffer with FreePool().
> > > > -
> > > > - If Name is NULL, then ASSERT().
> > > > - If Guid is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Name The pointer to a Null-terminated Unicode string.
> > > > - @param[in] Guid The pointer to an EFI_GUID structure.
> > > > -
> > > > - @retval NULL The variable could not be retrieved.
> > > > - @retval NULL There are not enough resources available for the variable contents.
> > > > - @retval Other A pointer to allocated buffer containing the variable contents.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -GetVariable (
> > > > - IN CONST CHAR16 *Name,
> > > > - IN CONST EFI_GUID *Guid
> > > > - );
> > > > -
> > > > -/**
> > > > - [ATTENTION] This function will be deprecated for security reason.
> > > > -
> > > > - Returns a pointer to an allocated buffer that contains the contents of a
> > > > - variable retrieved through the UEFI Runtime Service GetVariable(). This
> > > > - function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.
> > > > - The returned buffer is allocated using AllocatePool(). The caller is
> > > > - responsible for freeing this buffer with FreePool().
> > > > -
> > > > - If Name is NULL, then ASSERT().
> > > > -
> > > > - @param[in] Name The pointer to a Null-terminated Unicode string.
> > > > -
> > > > - @retval NULL The variable could not be retrieved.
> > > > - @retval NULL There are not enough resources available for the variable contents.
> > > > - @retval Other A pointer to allocated buffer containing the variable contents.
> > > > -
> > > > -**/
> > > > -VOID *
> > > > -EFIAPI
> > > > -GetEfiGlobalVariable (
> > > > - IN CONST CHAR16 *Name
> > > > - );
> > > > -#endif
> > > > -
> > > >
> > > > /**
> > > > Returns the status whether get the variable success. The function retrieves
> > > > diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc
> > > > index 6cd38e7ec3c9..0477e0205188 100644
> > > > --- a/MdePkg/MdePkg.dsc
> > > > +++ b/MdePkg/MdePkg.dsc
> > > > @@ -172,4 +172,3 @@ [Components.ARM, Components.AARCH64]
> > > > MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> > > >
> > > > [BuildOptions]
> > > > - *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
> > > > --
> > > > 2.18.0.windows.1
> > >
> > >
> > >
> > >
next prev parent reply other threads:[~2020-07-31 1:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-05 8:12 [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES Zhang, Shenglei
2020-06-09 13:08 ` Liming Gao
[not found] ` <1616E217E641F212.17072@groups.io>
2020-07-29 7:55 ` [edk2-devel] " Liming Gao
2020-07-29 12:24 ` Leif Lindholm
2020-07-29 13:34 ` Leif Lindholm
2020-07-30 16:09 ` Marcin Wojtas
2020-07-31 1:55 ` Liming Gao [this message]
2020-07-31 7:53 ` Pete Batard
2020-07-31 8:27 ` Ard Biesheuvel
2020-07-31 15:56 ` Marcin Wojtas
2020-08-03 11:23 ` Pete Batard
2020-08-03 17:47 ` Leif Lindholm
2020-08-21 7:17 ` Ming Huang
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=CY4PR11MB15269A162AD53A419860EA36804E0@CY4PR11MB1526.namprd11.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