Reviewed-by: jiewen....@intel.com
> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Star Zeng > Sent: Friday, July 1, 2016 9:55 AM > To: edk2-devel@lists.01.org > Cc: Yao, Jiewen <jiewen....@intel.com>; Fan, Jeff <jeff....@intel.com> > Subject: [edk2] [PATCH] UefiCpuPkg S3Resume2Pei: Report status code > when allocate memory is failed > > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Jeff Fan <jeff....@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Star Zeng <star.z...@intel.com> > --- > UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 18 > +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > index a79fc59bdfa6..0ccf3a42b5ff 100644 > --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > @@ -4,7 +4,7 @@ > This module will excute the boot script saved during last boot and after > that, > control is passed to OS waking up handler. > > - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> > > This program and the accompanying materials > are licensed and made available under the terms and conditions > @@ -822,7 +822,13 @@ S3ResumeExecuteBootScript ( > // Make sure the newly allcated IDT align with 16-bytes > // > IdtBuffer = AllocatePages (EFI_SIZE_TO_PAGES((IdtDescriptor->Limit + > 1) + 16)); > - ASSERT (IdtBuffer != NULL); > + if (IdtBuffer == NULL) { > + REPORT_STATUS_CODE ( > + EFI_ERROR_CODE | EFI_ERROR_MAJOR, > + (EFI_SOFTWARE_PEI_MODULE | > EFI_SW_PEI_EC_S3_RESUME_FAILED) > + ); > + ASSERT (FALSE); > + } > // > // Additional 16 bytes allocated to save IA32 IDT descriptor and Pei > Service Table Pointer > // IA32 IDT descriptor will be used to setup IA32 IDT table for 32-bit > Framework Boot Script code > @@ -852,7 +858,13 @@ S3ResumeExecuteBootScript ( > // Prepare data for return back > // > PeiS3ResumeState = AllocatePool (sizeof(*PeiS3ResumeState)); > - ASSERT (PeiS3ResumeState != NULL); > + if (PeiS3ResumeState == NULL) { > + REPORT_STATUS_CODE ( > + EFI_ERROR_CODE | EFI_ERROR_MAJOR, > + (EFI_SOFTWARE_PEI_MODULE | > EFI_SW_PEI_EC_S3_RESUME_FAILED) > + ); > + ASSERT (FALSE); > + } > DEBUG (( EFI_D_ERROR, "PeiS3ResumeState - %x\r\n", > PeiS3ResumeState)); > PeiS3ResumeState->ReturnCs = 0x10; > PeiS3ResumeState->ReturnEntryPoint = > (EFI_PHYSICAL_ADDRESS)(UINTN)S3ResumeBootOs; > -- > 2.7.0.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