I understand the motivation for this change as I've done something much less portable that looks a lot like this to save the PEI XIP space....
I seem to remember a long time ago we add a public VA_LIST to an API and we ran into an issue due to the marker format being compiler specific. You don't tend to see this on VC++ as it mostly uses a pointer to the frame, but GCC and clang can use a data structure especially not on IA32 (i386) for a VA_LIST (this is part of the reason there are so many #ifdefs in the Base.h VA_LIST section). In the past to fix this Mike Kinney added BASE_LIST. I seem to remember MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode passes a BASE_LIST into ReportStatusCode vs. a VA_LIST for this reason. Was this VA_LIST portability concern taken into consideration for this new API? In general VA_LIST is not an issue as long as all the code is compiled with the same compiler but if binaries are in play then you can have issues. So things like FSB, Option ROMs, OS Loaders, EFI Shell, EFI Apps. are when you can see the issue. Thanks, Andrew Fish > On Mar 14, 2019, at 10:17 PM, Zhichao Gao <zhichao....@intel.com> wrote: > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395 > > Add the new PEIM DebugServicePei and library instance > PeiDebugLibDebugPpi to dsc file to verify it can build > correctly. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Zhichao Gao <zhichao....@intel.com> > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Hao Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Cc: Michael Turner <michael.tur...@microsoft.com> > Cc: Bret Barkelew <bret.barke...@microsoft.com> > --- > MdeModulePkg/MdeModulePkg.dsc | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc > index 6cd1727a0d..dec441e23e 100644 > --- a/MdeModulePkg/MdeModulePkg.dsc > +++ b/MdeModulePkg/MdeModulePkg.dsc > @@ -297,6 +297,7 @@ > > MdeModulePkg/Library/PlatformHookLibSerialPortPpi/PlatformHookLibSerialPortPpi.inf > MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf > > MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf > + MdeModulePkg/Library/PeiDebugLibDebugPpi/PeiDebugLibDebugPpi.inf > MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf > > MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManagerLibNull.inf > MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf > @@ -423,6 +424,8 @@ > MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf > > + MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf > + > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf > MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > -- > 2.16.2.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel