From: "Gao, Zhichao" <zhichao.gao@intel.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>,
Michael Turner <Michael.Turner@microsoft.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Zeng, Star" <star.zeng@intel.com>,
"Wu, Hao A" <hao.a.wu@intel.com>,
"Wang, Jian J" <jian.j.wang@intel.com>
Subject: Re: [edk2] [PATCH] MdeModulePkg/CapsulePei: Update the debug code to print 64bit data
Date: Thu, 11 Apr 2019 07:47:09 +0000 [thread overview]
Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B7C1722@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <d4a309ae-3d56-de67-a5d3-8649f7794311@redhat.com>
Sorry for missing this email.
While I change the code, it couldn't pass the Patchcher.py because of the 'EFI_D_" version MACRO. So I change all the debug message in this driver.
Maybe that is a redundant work.
Thanks,
Zhichao
> -----Original Message-----
> From: Philippe Mathieu-Daudé [mailto:philmd@redhat.com]
> Sent: Tuesday, April 2, 2019 11:36 PM
> To: Gao, Zhichao <zhichao.gao@intel.com>; edk2-devel@lists.01.org
> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>; Michael Turner
> <Michael.Turner@microsoft.com>; Gao, Liming <liming.gao@intel.com>;
> Zeng, Star <star.zeng@intel.com>
> Subject: Re: [edk2] [PATCH] MdeModulePkg/CapsulePei: Update the debug
> code to print 64bit data
>
> Hi Bret,
>
> On 4/2/19 7:50 AM, Zhichao Gao wrote:
> > From: Bret Barkelew <Bret.Barkelew@microsoft.com>
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1677
> >
> > For some pointer and UINT64 data, the debug code print with '%x'.
> > Which would loss the upper 32bit data. So update '%x' to '%lx'
> > for these data.
>
> Some are UINTN. Per Laszlo answer on this thread:
> https://lists.01.org/pipermail/edk2-devel/2016-September/002093.html
> for those, casting and changing format is the accepted way.
>
> However this is a change,
>
> > Change the DEBUG PrintLevel from EFI_D_ version to DEBUG_ version.
> > DEBUG_ version is recommended to use.
>
> and this is another change.
>
> Splitting this patch in 2 would make it more digestable.
>
> >
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Star Zeng <star.zeng@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Sean Brogan <sean.brogan@microsoft.com>
> > Cc: Michael Turner <Michael.Turner@microsoft.com>
> > Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
> > ---
> > .../CapsulePei/Common/CapsuleCoalesce.c | 90 +++++++++----------
> > .../Universal/CapsulePei/UefiCapsule.c | 46 +++++-----
> > .../Universal/CapsulePei/X64/X64Entry.c | 2 +-
> > 3 files changed, 69 insertions(+), 69 deletions(-)
> >
> > diff --git
> > a/MdeModulePkg/Universal/CapsulePei/Common/CapsuleCoalesce.c
> > b/MdeModulePkg/Universal/CapsulePei/Common/CapsuleCoalesce.c
> > index 3575a94d0f..2a527054bd 100644
> > --- a/MdeModulePkg/Universal/CapsulePei/Common/CapsuleCoalesce.c
> > +++ b/MdeModulePkg/Universal/CapsulePei/Common/CapsuleCoalesce.c
> > @@ -258,7 +258,7 @@ ValidateCapsuleByMemoryResource (
> > // Sanity Check
> > //
> > if (Size > MAX_ADDRESS) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: Size(0x%lx) > MAX_ADDRESS\n", Size));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Size(0x%lx) > MAX_ADDRESS\n",
> > + Size));
> > return FALSE;
> > }
> >
> > @@ -266,7 +266,7 @@ ValidateCapsuleByMemoryResource (
> > // Sanity Check
> > //
> > if (Address > (MAX_ADDRESS - Size)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: Address(0x%lx) > (MAX_ADDRESS -
> Size(0x%lx))\n", Address, Size));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Address(0x%lx) > (MAX_ADDRESS -
> > + Size(0x%lx))\n", Address, Size));
> > return FALSE;
> > }
> >
> > @@ -280,14 +280,14 @@ ValidateCapsuleByMemoryResource (
> > for (Index = 0; MemoryResource[Index].ResourceLength != 0; Index++) {
> > if ((Address >= MemoryResource[Index].PhysicalStart) &&
> > ((Address + Size) <= (MemoryResource[Index].PhysicalStart +
> MemoryResource[Index].ResourceLength))) {
> > - DEBUG ((EFI_D_INFO, "Address(0x%lx) Size(0x%lx) in
> MemoryResource[0x%x] - Start(0x%lx) Length(0x%lx)\n",
> > + DEBUG ((DEBUG_INFO, "Address(0x%lx) Size(0x%lx) in
> > + MemoryResource[0x%x] - Start(0x%lx) Length(0x%lx)\n",
> > Address, Size,
> > Index, MemoryResource[Index].PhysicalStart,
> MemoryResource[Index].ResourceLength));
> > return TRUE;
> > }
> > }
> >
> > - DEBUG ((EFI_D_ERROR, "ERROR: Address(0x%lx) Size(0x%lx) not in any
> > MemoryResource\n", Address, Size));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Address(0x%lx) Size(0x%lx) not in any
> > + MemoryResource\n", Address, Size));
> > return FALSE;
> > }
> >
> > @@ -312,7 +312,7 @@ ValidateCapsuleIntegrity (
> > UINTN CapsuleCount;
> > EFI_CAPSULE_BLOCK_DESCRIPTOR *Ptr;
> >
> > - DEBUG ((EFI_D_INFO, "ValidateCapsuleIntegrity\n"));
> > + DEBUG ((DEBUG_INFO, "ValidateCapsuleIntegrity\n"));
> >
> > //
> > // Go through the list to look for inconsistencies. Check for:
> > @@ -333,15 +333,15 @@ ValidateCapsuleIntegrity (
> > return NULL;
> > }
> >
> > - DEBUG ((EFI_D_INFO, "Ptr - 0x%x\n", Ptr));
> > - DEBUG ((EFI_D_INFO, "Ptr->Length - 0x%x\n", Ptr->Length));
> > - DEBUG ((EFI_D_INFO, "Ptr->Union - 0x%x\n",
> > Ptr->Union.ContinuationPointer));
> > + DEBUG ((DEBUG_INFO, "Ptr - 0x%lx\n", (UINT64)Ptr)); DEBUG
> > + ((DEBUG_INFO, "Ptr->Length - 0x%lx\n", Ptr->Length)); DEBUG
> > + ((DEBUG_INFO, "Ptr->Union - 0x%lx\n",
> > + Ptr->Union.ContinuationPointer));
> > while ((Ptr->Length != 0) || (Ptr->Union.ContinuationPointer !=
> (EFI_PHYSICAL_ADDRESS) (UINTN) NULL)) {
> > //
> > // Make sure the descriptor is aligned at UINT64 in memory
> > //
> > if ((UINTN) Ptr & (sizeof(UINT64) - 1)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: BlockList address failed alignment
> check\n"));
> > + DEBUG ((DEBUG_ERROR, "ERROR: BlockList address failed alignment
> > + check\n"));
> > return NULL;
> > }
> >
> > @@ -354,9 +354,9 @@ ValidateCapsuleIntegrity (
> > if (!ValidateCapsuleByMemoryResource (MemoryResource,
> (EFI_PHYSICAL_ADDRESS) (UINTN) Ptr, sizeof
> (EFI_CAPSULE_BLOCK_DESCRIPTOR))) {
> > return NULL;
> > }
> > - DEBUG ((EFI_D_INFO, "Ptr(C) - 0x%x\n", Ptr));
> > - DEBUG ((EFI_D_INFO, "Ptr->Length - 0x%x\n", Ptr->Length));
> > - DEBUG ((EFI_D_INFO, "Ptr->Union - 0x%x\n", Ptr-
> >Union.ContinuationPointer));
> > + DEBUG ((DEBUG_INFO, "Ptr(C) - 0x%lx\n", (UINT64)Ptr));
> > + DEBUG ((DEBUG_INFO, "Ptr->Length - 0x%lx\n", Ptr->Length));
> > + DEBUG ((DEBUG_INFO, "Ptr->Union - 0x%lx\n",
> > + Ptr->Union.ContinuationPointer));
> > } else {
> > if (!ValidateCapsuleByMemoryResource (MemoryResource, Ptr-
> >Union.DataBlock, Ptr->Length)) {
> > return NULL;
> > @@ -375,14 +375,14 @@ ValidateCapsuleIntegrity (
> > // Sanity check
> > //
> > if (Ptr->Length < sizeof(EFI_CAPSULE_HEADER)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: Ptr->Length(0x%lx) <
> sizeof(EFI_CAPSULE_HEADER)\n", Ptr->Length));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Ptr->Length(0x%lx) <
> > + sizeof(EFI_CAPSULE_HEADER)\n", Ptr->Length));
> > return NULL;
> > }
> > //
> > // Make sure HeaderSize field is valid
> > //
> > if (CapsuleHeader->HeaderSize > CapsuleHeader->CapsuleImageSize)
> {
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleHeader->HeaderSize(0x%x) >
> CapsuleHeader->CapsuleImageSize(0x%x)\n", CapsuleHeader->HeaderSize,
> CapsuleHeader->CapsuleImageSize));
> > + DEBUG ((DEBUG_ERROR, "ERROR:
> > + CapsuleHeader->HeaderSize(0x%x) >
> > + CapsuleHeader->CapsuleImageSize(0x%x)\n", CapsuleHeader-
> >HeaderSize,
> > + CapsuleHeader->CapsuleImageSize));
> > return NULL;
> > }
> > if (IsCapsuleCorrupted (CapsuleHeader)) { @@ -395,7 +395,7 @@
> > ValidateCapsuleIntegrity (
> > if (CapsuleSize >= Ptr->Length) {
> > CapsuleSize = CapsuleSize - Ptr->Length;
> > } else {
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleSize(0x%lx) < Ptr-
> >Length(0x%lx)\n", CapsuleSize, Ptr->Length));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleSize(0x%lx) <
> > + Ptr->Length(0x%lx)\n", CapsuleSize, Ptr->Length));
> > //
> > // Sanity check
> > //
> > @@ -409,9 +409,9 @@ ValidateCapsuleIntegrity (
> > if (!ValidateCapsuleByMemoryResource (MemoryResource,
> (EFI_PHYSICAL_ADDRESS) (UINTN) Ptr, sizeof
> (EFI_CAPSULE_BLOCK_DESCRIPTOR))) {
> > return NULL;
> > }
> > - DEBUG ((EFI_D_INFO, "Ptr(B) - 0x%x\n", Ptr));
> > - DEBUG ((EFI_D_INFO, "Ptr->Length - 0x%x\n", Ptr->Length));
> > - DEBUG ((EFI_D_INFO, "Ptr->Union - 0x%x\n", Ptr-
> >Union.ContinuationPointer));
> > + DEBUG ((DEBUG_INFO, "Ptr(B) - 0x%lx\n", (UINT64)Ptr));
> > + DEBUG ((DEBUG_INFO, "Ptr->Length - 0x%lx\n", Ptr->Length));
> > + DEBUG ((DEBUG_INFO, "Ptr->Union - 0x%lx\n",
> > + Ptr->Union.ContinuationPointer));
> > }
> > }
> >
> > @@ -419,7 +419,7 @@ ValidateCapsuleIntegrity (
> > //
> > // No any capsule is found in BlockList
> > //
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleCount(0x%x) == 0\n",
> CapsuleCount));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleCount(0x%x) == 0\n",
> > + CapsuleCount));
> > return NULL;
> > }
> >
> > @@ -427,7 +427,7 @@ ValidateCapsuleIntegrity (
> > //
> > // Capsule data is incomplete.
> > //
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleSize(0x%lx) != 0\n",
> CapsuleSize));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleSize(0x%lx) != 0\n",
> > + CapsuleSize));
> > return NULL;
> > }
> >
> > @@ -515,7 +515,7 @@ RelocateBlockDescriptors (
> > }
> >
> > CopyMem ((VOID *) RelocBuffer, (VOID *) (UINTN) TempBlockDesc-
> >Union.DataBlock, (UINTN) TempBlockDesc->Length);
> > - DEBUG ((EFI_D_INFO, "Capsule relocate descriptors from/to/size
> 0x%lX 0x%lX 0x%lX\n", TempBlockDesc->Union.DataBlock,
> (UINT64)(UINTN)RelocBuffer, TempBlockDesc->Length));
> > + DEBUG ((DEBUG_INFO, "Capsule relocate descriptors
> > + from/to/size 0x%lX 0x%lX 0x%lX\n", TempBlockDesc->Union.DataBlock,
> > + (UINT64)(UINTN)RelocBuffer, TempBlockDesc->Length));
> > TempBlockDesc->Union.DataBlock = (EFI_PHYSICAL_ADDRESS) (UINTN)
> RelocBuffer;
> > }
> > TempBlockDesc++;
> > @@ -552,7 +552,7 @@ RelocateBlockDescriptors (
> > return NULL;
> > }
> > CopyMem ((VOID *) RelocBuffer, (VOID *) CurrBlockDescHead,
> BlockListSize);
> > - DEBUG ((EFI_D_INFO, "Capsule reloc descriptor block #2\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule reloc descriptor block #2\n"));
> > //
> > // Point the previous block's next point to this copied version. If
> > // the tail pointer is null, then this is the first descriptor block.
> > @@ -651,7 +651,7 @@ GetCapsuleInfo (
> > UINTN ThisCapsuleImageSize;
> > EFI_CAPSULE_HEADER *CapsuleHeader;
> >
> > - DEBUG ((EFI_D_INFO, "GetCapsuleInfo enter\n"));
> > + DEBUG ((DEBUG_INFO, "GetCapsuleInfo enter\n"));
> >
> > ASSERT (Desc != NULL);
> >
> > @@ -673,7 +673,7 @@ GetCapsuleInfo (
> > // While here we need check all capsules size.
> > //
> > if (Desc->Length >= (MAX_ADDRESS - Size)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: Desc->Length(0x%lx) >=
> (MAX_ADDRESS - Size(0x%x))\n", Desc->Length, Size));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Desc->Length(0x%lx) >=
> > + (MAX_ADDRESS - Size(0x%x))\n", Desc->Length, Size));
> > return EFI_OUT_OF_RESOURCES;
> > }
> > Size += (UINTN) Desc->Length;
> > @@ -707,7 +707,7 @@ GetCapsuleInfo (
> > // If no descriptors, then fail
> > //
> > if (Count == 0) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: Count == 0\n"));
> > + DEBUG ((DEBUG_ERROR, "ERROR: Count == 0\n"));
> > return EFI_NOT_FOUND;
> > }
> >
> > @@ -787,7 +787,7 @@ CapsuleTestPatternPreCoalesce (
> > UINT32 TestCounter;
> > UINT32 TestSize;
> >
> > - DEBUG ((EFI_D_INFO, "CapsuleTestPatternPreCoalesce\n"));
> > + DEBUG ((DEBUG_INFO, "CapsuleTestPatternPreCoalesce\n"));
> >
> > //
> > // Find first data descriptor
> > @@ -803,7 +803,7 @@ CapsuleTestPatternPreCoalesce (
> > // First one better be long enough to at least hold the test signature
> > //
> > if (Desc->Length < sizeof (UINT32)) {
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern pre-coalesce punted
> #1\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern pre-coalesce punted
> > + #1\n"));
> > return ;
> > }
> >
> > @@ -823,13 +823,13 @@ CapsuleTestPatternPreCoalesce (
> > TestPtr += 2;
> > while (1) {
> > if ((TestSize & 0x03) != 0) {
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern pre-coalesce punted
> #2\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern pre-coalesce punted
> > + #2\n"));
> > return ;
> > }
> >
> > while (TestSize > 0) {
> > if (*TestPtr != TestCounter) {
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern pre-coalesce failed data
> corruption check\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern pre-coalesce failed
> > + data corruption check\n"));
> > return ;
> > }
> >
> > @@ -873,7 +873,7 @@ BuildCapsuleDescriptors (
> > EFI_CAPSULE_BLOCK_DESCRIPTOR *TempBlock;
> > EFI_CAPSULE_BLOCK_DESCRIPTOR *HeadBlock;
> >
> > - DEBUG ((EFI_D_INFO, "BuildCapsuleDescriptors enter\n"));
> > + DEBUG ((DEBUG_INFO, "BuildCapsuleDescriptors enter\n"));
> >
> > LastBlock = NULL;
> > HeadBlock = NULL;
> > @@ -904,7 +904,7 @@ BuildCapsuleDescriptors (
> > }
> > }
> > } else {
> > - DEBUG ((EFI_D_ERROR, "ERROR: BlockListBuffer[Index](0x%lx) <
> MAX_ADDRESS\n", BlockListBuffer[Index]));
> > + DEBUG ((DEBUG_ERROR, "ERROR: BlockListBuffer[Index](0x%lx) <
> > + MAX_ADDRESS\n", BlockListBuffer[Index]));
> > }
> > Index ++;
> > }
> > @@ -1022,7 +1022,7 @@ CapsuleDataCoalesce (
> > EFI_CAPSULE_BLOCK_DESCRIPTOR *TempBlockDesc;
> > EFI_CAPSULE_BLOCK_DESCRIPTOR PrivateDataDesc[2];
> >
> > - DEBUG ((EFI_D_INFO, "CapsuleDataCoalesce enter\n"));
> > + DEBUG ((DEBUG_INFO, "CapsuleDataCoalesce enter\n"));
> >
> > CapsuleIndex = 0;
> > SizeLeft = 0;
> > @@ -1055,15 +1055,15 @@ CapsuleDataCoalesce (
> > if (EFI_ERROR (Status)) {
> > return Status;
> > }
> > - DEBUG ((EFI_D_INFO, "CapsuleSize - 0x%x\n", CapsuleSize));
> > - DEBUG ((EFI_D_INFO, "CapsuleNumber - 0x%x\n", CapsuleNumber));
> > - DEBUG ((EFI_D_INFO, "NumDescriptors - 0x%x\n", NumDescriptors));
> > + DEBUG ((DEBUG_INFO, "CapsuleSize - 0x%x\n", CapsuleSize)); DEBUG
> > + ((DEBUG_INFO, "CapsuleNumber - 0x%x\n", CapsuleNumber));
>
> This is confuse CapsuleNumber is declared UINT64 in
> MdeModulePkg/Universal/CapsulePei/Common/CommonHeader.h and we
> use a UINTN here. Why not keep UINT64 and use "%lx"?
>
> > + DEBUG ((DEBUG_INFO, "NumDescriptors - 0x%x\n", NumDescriptors));
> > if ((CapsuleSize == 0) || (NumDescriptors == 0) || (CapsuleNumber == 0))
> {
> > return EFI_NOT_FOUND;
> > }
> >
> > if (CapsuleNumber - 1 >= (MAX_ADDRESS - (sizeof
> (EFI_CAPSULE_PEIM_PRIVATE_DATA) + sizeof(UINT64))) / sizeof(UINT64)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleNumber - 0x%x\n",
> CapsuleNumber));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleNumber - 0x%x\n",
> > + CapsuleNumber));
> > return EFI_BUFFER_TOO_SMALL;
> > }
> >
> > @@ -1093,7 +1093,7 @@ CapsuleDataCoalesce (
> > // Sanity check
> > //
> > if (CapsuleSize >= (MAX_ADDRESS - (sizeof
> (EFI_CAPSULE_PEIM_PRIVATE_DATA) + (CapsuleNumber - 1) *
> sizeof(UINT64) + sizeof(UINT64)))) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleSize - 0x%x\n", CapsuleSize));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleSize - 0x%x\n",
> > + CapsuleSize));
> > return EFI_BUFFER_TOO_SMALL;
> > }
> > //
> > @@ -1105,7 +1105,7 @@ CapsuleDataCoalesce (
> > // Sanity check
> > //
> > if (NumDescriptors >= (MAX_ADDRESS /
> sizeof(EFI_CAPSULE_BLOCK_DESCRIPTOR))) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: NumDescriptors - 0x%x\n",
> NumDescriptors));
> > + DEBUG ((DEBUG_ERROR, "ERROR: NumDescriptors - 0x%x\n",
> > + NumDescriptors));
> > return EFI_BUFFER_TOO_SMALL;
> > }
> > DescriptorsSize = NumDescriptors * sizeof
> > (EFI_CAPSULE_BLOCK_DESCRIPTOR); @@ -1113,7 +1113,7 @@
> CapsuleDataCoalesce (
> > // Sanity check
> > //
> > if (DescriptorsSize >= (MAX_ADDRESS - CapsuleSize)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: DescriptorsSize - 0x%lx, CapsuleSize -
> 0x%lx\n", (UINT64)DescriptorsSize, (UINT64)CapsuleSize));
> > + DEBUG ((DEBUG_ERROR, "ERROR: DescriptorsSize - 0x%lx, CapsuleSize
> > + - 0x%lx\n", (UINT64)DescriptorsSize, (UINT64)CapsuleSize));
> > return EFI_BUFFER_TOO_SMALL;
> > }
> >
> > @@ -1121,10 +1121,10 @@ CapsuleDataCoalesce (
> > // Don't go below some min address. If the base is below it,
> > // then move it up and adjust the size accordingly.
> > //
> > - DEBUG ((EFI_D_INFO, "Capsule Memory range from 0x%8X to 0x%8X\n",
> > (UINTN) *MemoryBase, (UINTN)*MemoryBase + *MemorySize));
> > + DEBUG ((DEBUG_INFO, "Capsule Memory range from 0x%8X to
> 0x%8X\n",
> > + (UINTN) *MemoryBase, (UINTN)*MemoryBase + *MemorySize));
>
> Don't you also want to cast to UINT64 and use "%lX" here?
>
> > if ((UINTN)*MemoryBase < (UINTN) MIN_COALESCE_ADDR) {
> > if (((UINTN)*MemoryBase + *MemorySize) < (UINTN)
> MIN_COALESCE_ADDR) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: *MemoryBase + *MemorySize -
> 0x%x\n", (UINTN)*MemoryBase + *MemorySize));
> > + DEBUG ((DEBUG_ERROR, "ERROR: *MemoryBase + *MemorySize -
> > + 0x%x\n", (UINTN)*MemoryBase + *MemorySize));
> > return EFI_BUFFER_TOO_SMALL;
> > } else {
> > *MemorySize = *MemorySize - ((UINTN) MIN_COALESCE_ADDR -
> > (UINTN) *MemoryBase); @@ -1133,13 +1133,13 @@ CapsuleDataCoalesce
> (
> > }
> >
> > if (*MemorySize <= (CapsuleSize + DescriptorsSize)) {
> > - DEBUG ((EFI_D_ERROR, "ERROR: CapsuleSize + DescriptorsSize -
> 0x%x\n", CapsuleSize + DescriptorsSize));
> > + DEBUG ((DEBUG_ERROR, "ERROR: CapsuleSize + DescriptorsSize -
> > + 0x%x\n", CapsuleSize + DescriptorsSize));
> > return EFI_BUFFER_TOO_SMALL;
> > }
> >
> > FreeMemBase = *MemoryBase;
> > FreeMemSize = *MemorySize;
> > - DEBUG ((EFI_D_INFO, "Capsule Free Memory from 0x%8X to 0x%8X\n",
> > (UINTN) FreeMemBase, (UINTN) FreeMemBase + FreeMemSize));
> > + DEBUG ((DEBUG_INFO, "Capsule Free Memory from 0x%8X to 0x%8X\n",
> > + (UINTN) FreeMemBase, (UINTN) FreeMemBase + FreeMemSize));
> >
> > //
> > // Relocate all the block descriptors to low memory to make further
> > @@ -1205,7 +1205,7 @@ CapsuleDataCoalesce (
> > }
> >
> > CopyMem ((VOID *) RelocPtr, (VOID *) (UINTN) TempBlockDesc-
> >Union.DataBlock, (UINTN) TempBlockDesc->Length);
> > - DEBUG ((EFI_D_INFO, "Capsule reloc data block from 0x%8X to 0x%8X
> with size 0x%8X\n",
> > + DEBUG ((DEBUG_INFO, "Capsule reloc data block from 0x%8X to
> > + 0x%8X with size 0x%8X\n",
> > (UINTN) TempBlockDesc->Union.DataBlock, (UINTN)
> > RelocPtr, (UINTN) TempBlockDesc->Length));
> >
> > TempBlockDesc->Union.DataBlock = (EFI_PHYSICAL_ADDRESS)
> > (UINTN) RelocPtr; @@ -1256,7 +1256,7 @@ CapsuleDataCoalesce (
> > ASSERT (CurrentBlockDesc->Length <= SizeLeft);
> >
> > CopyMem ((VOID *) DestPtr, (VOID *) (UINTN) (CurrentBlockDesc-
> >Union.DataBlock), (UINTN)CurrentBlockDesc->Length);
> > - DEBUG ((EFI_D_INFO, "Capsule coalesce block no.0x%lX from 0x%lX to
> 0x%lX with size 0x%lX\n",(UINT64)CapsuleTimes,
> > + DEBUG ((DEBUG_INFO, "Capsule coalesce block no.0x%lX from 0x%lX
> > + to 0x%lX with size 0x%lX\n",(UINT64)CapsuleTimes,
> > CurrentBlockDesc->Union.DataBlock, (UINT64)(UINTN)DestPtr,
> CurrentBlockDesc->Length));
> > DestPtr += CurrentBlockDesc->Length;
> > SizeLeft -= CurrentBlockDesc->Length; diff --git
> > a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
> > b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
> > index 1131094c4f..f5ec1c20ec 100644
> > --- a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
> > +++ b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
> > @@ -427,7 +427,7 @@ ModeSwitch (
> > if (ReservedRangeEnd < MemoryEnd64) {
> > MemoryBase64 = ReservedRangeEnd;
> > } else {
> > - DEBUG ((EFI_D_ERROR, "Memory is not enough to process
> capsule!\n"));
> > + DEBUG ((DEBUG_ERROR, "Memory is not enough to process
> > + capsule!\n"));
> > return EFI_OUT_OF_RESOURCES;
> > }
> > } else if (ReservedRangeBase < MemoryEnd64) { @@ -525,7 +525,7 @@
> > FindCapsuleCoalesceImage (
> > &AuthenticationState
> > );
> > if (EFI_ERROR (Status)) {
> > - DEBUG ((EFI_D_ERROR, "Unable to find PE32 section in CapsuleX64
> image ffs %r!\n", Status));
> > + DEBUG ((DEBUG_ERROR, "Unable to find PE32 section in
> > + CapsuleX64 image ffs %r!\n", Status));
> > return Status;
> > }
> > *CoalesceImageMachineType = PeCoffLoaderGetMachineType ((VOID
> > *) (UINTN) CoalesceImageAddress); @@ -574,7 +574,7 @@
> GetLongModeContext (
> > LongModeBuffer
> > );
> > if (EFI_ERROR (Status)) {
> > - DEBUG (( EFI_D_ERROR, "Error Get LongModeBuffer variable %r!\n",
> Status));
> > + DEBUG (( DEBUG_ERROR, "Error Get LongModeBuffer variable %r!\n",
> > + Status));
> > }
> > return Status;
> > }
> > @@ -734,7 +734,7 @@ BuildMemoryResourceDescriptor (
> > }
> >
> > if (Index == 0) {
> > - DEBUG ((EFI_D_INFO | EFI_D_WARN, "No memory resource descriptor
> reported in HOB list before capsule Coalesce\n"));
> > + DEBUG ((DEBUG_INFO | DEBUG_WARN, "No memory resource
> descriptor
> > + reported in HOB list before capsule Coalesce\n"));
> > #if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)
> > //
> > // Allocate memory to hold memory resource descriptor, @@ -746,7
> > +746,7 @@ BuildMemoryResourceDescriptor (
> >
> > MemoryResource[0].PhysicalStart = 0;
> > MemoryResource[0].ResourceLength = LShiftU64 (1,
> GetPhysicalAddressBits ());
> > - DEBUG ((EFI_D_INFO, "MemoryResource[0x0] - Start(0x%0lx)
> Length(0x%0lx)\n",
> > + DEBUG ((DEBUG_INFO, "MemoryResource[0x0] - Start(0x%0lx)
> > + Length(0x%0lx)\n",
> > MemoryResource[0x0].PhysicalStart,
> MemoryResource[0x0].ResourceLength));
> > return MemoryResource;
> > #else
> > @@ -770,7 +770,7 @@ BuildMemoryResourceDescriptor (
> > while (Hob.Raw != NULL) {
> > ResourceDescriptor = (EFI_HOB_RESOURCE_DESCRIPTOR *) Hob.Raw;
> > if (ResourceDescriptor->ResourceType ==
> EFI_RESOURCE_SYSTEM_MEMORY) {
> > - DEBUG ((EFI_D_INFO, "MemoryResource[0x%x] - Start(0x%0lx)
> Length(0x%0lx)\n",
> > + DEBUG ((DEBUG_INFO, "MemoryResource[0x%x] - Start(0x%0lx)
> > + Length(0x%0lx)\n",
> > Index, ResourceDescriptor->PhysicalStart,
> ResourceDescriptor->ResourceLength));
> > MemoryResource[Index].PhysicalStart = ResourceDescriptor-
> >PhysicalStart;
> > MemoryResource[Index].ResourceLength =
> > ResourceDescriptor->ResourceLength;
> > @@ -973,7 +973,7 @@ CapsuleCoalesce (
> > //
> > Status = PeiServicesGetBootMode (&BootMode);
> > if (EFI_ERROR (Status) || (BootMode != BOOT_ON_FLASH_UPDATE)) {
> > - DEBUG ((EFI_D_ERROR, "Boot mode is not correct for capsule update
> path.\n"));
> > + DEBUG ((DEBUG_ERROR, "Boot mode is not correct for capsule update
> > + path.\n"));
> > Status = EFI_NOT_FOUND;
> > goto Done;
> > }
> > @@ -1016,14 +1016,14 @@ CapsuleCoalesce (
> > //
> > // There is no capsule variables, quit
> > //
> > - DEBUG ((EFI_D_INFO,"Capsule variable Index = %d\n", Index));
> > + DEBUG ((DEBUG_INFO,"Capsule variable Index = %d\n", Index));
> > break;
> > }
> > VariableCount++;
> > Index++;
> > }
> >
> > - DEBUG ((EFI_D_INFO,"Capsule variable count = %d\n",
> > VariableCount));
> > + DEBUG ((DEBUG_INFO,"Capsule variable count = %d\n",
> > + VariableCount));
> >
> > //
> > // The last entry is the end flag.
> > @@ -1034,7 +1034,7 @@ CapsuleCoalesce (
> > );
> >
> > if (Status != EFI_SUCCESS) {
> > - DEBUG ((EFI_D_ERROR, "AllocatePages Failed!, Status = %x\n", Status));
> > + DEBUG ((DEBUG_ERROR, "AllocatePages Failed!, Status = %x\n",
> > + Status));
> > goto Done;
> > }
> >
> > @@ -1046,7 +1046,7 @@ CapsuleCoalesce (
> > //
> > Status = GetCapsuleDescriptors (VariableArrayAddress);
> > if (EFI_ERROR (Status)) {
> > - DEBUG ((EFI_D_ERROR, "Fail to find capsule variables.\n"));
> > + DEBUG ((DEBUG_ERROR, "Fail to find capsule variables.\n"));
> > goto Done;
> > }
> >
> > @@ -1064,14 +1064,14 @@ CapsuleCoalesce (
> > CoalesceImageEntryPoint = 0;
> > Status = GetLongModeContext (&LongModeBuffer);
> > if (EFI_ERROR (Status)) {
> > - DEBUG ((EFI_D_ERROR, "Fail to find the variable for long mode
> context!\n"));
> > + DEBUG ((DEBUG_ERROR, "Fail to find the variable for long mode
> > + context!\n"));
> > Status = EFI_NOT_FOUND;
> > goto Done;
> > }
> >
> > Status = FindCapsuleCoalesceImage (&CoalesceImageEntryPoint,
> &CoalesceImageMachineType);
> > if ((EFI_ERROR (Status)) || (CoalesceImageMachineType !=
> EFI_IMAGE_MACHINE_X64)) {
> > - DEBUG ((EFI_D_ERROR, "Fail to find CapsuleX64 module in FV!\n"));
> > + DEBUG ((DEBUG_ERROR, "Fail to find CapsuleX64 module in
> > + FV!\n"));
> > Status = EFI_NOT_FOUND;
> > goto Done;
> > }
> > @@ -1091,14 +1091,14 @@ CapsuleCoalesce (
> > Status = CapsuleDataCoalesce (PeiServices, (EFI_PHYSICAL_ADDRESS
> > *)(UINTN)VariableArrayAddress, MemoryResource, MemoryBase,
> > MemorySize); #endif
> >
> > - DEBUG ((EFI_D_INFO, "Capsule Coalesce Status = %r!\n", Status));
> > + DEBUG ((DEBUG_INFO, "Capsule Coalesce Status = %r!\n", Status));
> >
> > if (Status == EFI_BUFFER_TOO_SMALL) {
> > - DEBUG ((EFI_D_ERROR, "There is not enough memory to process
> capsule!\n"));
> > + DEBUG ((DEBUG_ERROR, "There is not enough memory to process
> > + capsule!\n"));
> > }
> >
> > if (Status == EFI_NOT_FOUND) {
> > - DEBUG ((EFI_D_ERROR, "Fail to parse capsule descriptor in
> memory!\n"));
> > + DEBUG ((DEBUG_ERROR, "Fail to parse capsule descriptor in
> > + memory!\n"));
> > REPORT_STATUS_CODE (
> > EFI_ERROR_CODE | EFI_ERROR_MAJOR,
> > (EFI_SOFTWARE_PEI_MODULE |
> > EFI_SW_PEI_EC_INVALID_CAPSULE_DESCRIPTOR)
> > @@ -1163,7 +1163,7 @@ CapsuleTestPattern (
> > //
> > if (*TestPtr == 0x54534554) {
> > RetValue = TRUE;
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern mode activated...\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern mode activated...\n"));
> > TestSize = TestPtr[1] / sizeof (UINT32);
> > //
> > // Skip over the signature and the size fields in the pattern
> > data header @@ -1172,7 +1172,7 @@ CapsuleTestPattern (
> > TestCounter = 0;
> > while (TestSize > 0) {
> > if (*TestPtr != TestCounter) {
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern mode FAILED:
> BaseAddr/FailAddr 0x%X 0x%X\n",
> (UINT32)(UINTN)(EFI_CAPSULE_PEIM_PRIVATE_DATA *)CapsuleBase,
> (UINT32)(UINTN)TestPtr));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern mode FAILED:
> > + BaseAddr/FailAddr 0x%X 0x%X\n",
> > + (UINT32)(UINTN)(EFI_CAPSULE_PEIM_PRIVATE_DATA *)CapsuleBase,
> > + (UINT32)(UINTN)TestPtr));
> > return TRUE;
> > }
> >
> > @@ -1181,7 +1181,7 @@ CapsuleTestPattern (
> > TestSize--;
> > }
> >
> > - DEBUG ((EFI_D_INFO, "Capsule test pattern mode SUCCESS\n"));
> > + DEBUG ((DEBUG_INFO, "Capsule test pattern mode SUCCESS\n"));
> > }
> >
> > return RetValue;
> > @@ -1226,11 +1226,11 @@ CreateState (
> > return EFI_VOLUME_CORRUPTED;
> > }
> > if (PrivateData->CapsuleAllImageSize >= MAX_ADDRESS) {
> > - DEBUG ((EFI_D_ERROR, "CapsuleAllImageSize too big - 0x%lx\n",
> PrivateData->CapsuleAllImageSize));
> > + DEBUG ((DEBUG_ERROR, "CapsuleAllImageSize too big - 0x%lx\n",
> > + PrivateData->CapsuleAllImageSize));
> > return EFI_OUT_OF_RESOURCES;
> > }
> > if (PrivateData->CapsuleNumber >= MAX_ADDRESS) {
> > - DEBUG ((EFI_D_ERROR, "CapsuleNumber too big - 0x%lx\n",
> PrivateData->CapsuleNumber));
> > + DEBUG ((DEBUG_ERROR, "CapsuleNumber too big - 0x%lx\n",
> > + PrivateData->CapsuleNumber));
> > return EFI_OUT_OF_RESOURCES;
> > }
> > //
> > @@ -1248,13 +1248,13 @@ CreateState (
> > );
> >
> > if (Status != EFI_SUCCESS) {
> > - DEBUG ((EFI_D_ERROR, "AllocatePages Failed!\n"));
> > + DEBUG ((DEBUG_ERROR, "AllocatePages Failed!\n"));
> > return Status;
> > }
> > //
> > // Copy to our new buffer for DXE
> > //
> > - DEBUG ((EFI_D_INFO, "Capsule copy from 0x%8X to 0x%8X with size
> > 0x%8X\n", (UINTN)((UINT8 *)PrivateData +
> > sizeof(EFI_CAPSULE_PEIM_PRIVATE_DATA) + (CapsuleNumber - 1) *
> > sizeof(UINT64)), (UINTN) NewBuffer, Size));
> > + DEBUG ((DEBUG_INFO, "Capsule copy from 0x%8X to 0x%8X with size
> > + 0x%8X\n", (UINTN)((UINT8 *)PrivateData +
> > + sizeof(EFI_CAPSULE_PEIM_PRIVATE_DATA) + (CapsuleNumber - 1) *
> > + sizeof(UINT64)), (UINTN) NewBuffer, Size));
> > CopyMem ((VOID *) (UINTN) NewBuffer, (VOID *) (UINTN) ((UINT8
> *)PrivateData + sizeof(EFI_CAPSULE_PEIM_PRIVATE_DATA) +
> (CapsuleNumber - 1) * sizeof(UINT64)), Size);
> > //
> > // Check for test data pattern. If it is the test pattern, then
> > we'll diff --git a/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
> > b/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
> > index 40b7095194..2c309990fb 100644
> > --- a/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
> > +++ b/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
> > @@ -174,7 +174,7 @@ PageFaultHandler (
> > AddressEncMask = PageFaultContext->AddressEncMask;
> >
> > PFAddress = AsmReadCr2 ();
> > - DEBUG ((EFI_D_ERROR, "CapsuleX64 - PageFaultHandler: Cr2 - %lx\n",
> > PFAddress));
> > + DEBUG ((DEBUG_ERROR, "CapsuleX64 - PageFaultHandler: Cr2 - %lx\n",
> > + PFAddress));
> >
> > if (PFAddress >= PhyMask + SIZE_4KB) {
> > return PageFaultContext->OriginalHandler;
> >
next prev parent reply other threads:[~2019-04-11 7:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-02 5:50 [PATCH] MdeModulePkg/CapsulePei: Update the debug code to print 64bit data Zhichao Gao
2019-04-02 15:35 ` Philippe Mathieu-Daudé
2019-04-11 7:47 ` Gao, Zhichao [this message]
2019-04-11 8:12 ` [edk2] " Wu, Hao A
2019-04-11 9:33 ` Gao, Zhichao
2019-04-11 10:33 ` [edk2-devel] " Philippe Mathieu-Daudé
2019-04-17 0:26 ` Gao, Zhichao
2019-04-17 13:33 ` Laszlo Ersek
2019-04-18 0:16 ` Gao, Zhichao
2019-04-11 7:20 ` Gao, Zhichao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CE959C139B4C44DBEA1810E3AA6F9000B7C1722@SHSMSX101.ccr.corp.intel.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