Section data alignment should be made in the build generation.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
---
MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
index 1f626a9..f4d7528 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
@@ -3,7 +3,7 @@
Responsibility of this module is to load the DXE Core from a Firmware Volume.
Copyright (c) 2016 HP Development Company, L.P.
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -593,16 +593,11 @@ CustomGuidedSectionExtract (
//
// Allocate output buffer
//
- *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES (OutputBufferSize) + 1);
+ *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES (OutputBufferSize));
if (*OutputBuffer == NULL) {
return EFI_OUT_OF_RESOURCES;
}
DEBUG ((DEBUG_INFO, "Customized Guided section Memory Size required is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer));
- //
- // *OutputBuffer still is one section. Adjust *OutputBuffer offset,
- // skip EFI section header to make section data at page alignment.
- //
- *OutputBuffer = (VOID *)((UINT8 *) *OutputBuffer + EFI_PAGE_SIZE - sizeof (EFI_COMMON_SECTION_HEADER));
}
Status = ExtractGuidedSectionDecode (
--
2.8.0.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Liming, Similar change should be also done in Decompress() of DxeLoad.c, right? Thanks, Star -----Original Message----- From: Gao, Liming Sent: Wednesday, January 10, 2018 1:33 PM To: edk2-devel@lists.01.org Cc: Zeng, Star <star.zeng@intel.com> Subject: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment. Section data alignment should be made in the build generation. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Star Zeng <star.zeng@intel.com> --- MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c index 1f626a9..f4d7528 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c +++ b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c @@ -3,7 +3,7 @@ Responsibility of this module is to load the DXE Core from a Firmware Volume. Copyright (c) 2016 HP Development Company, L.P. -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -593,16 +593,11 @@ CustomGuidedSectionExtract ( // // Allocate output buffer // - *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES (OutputBufferSize) + 1); + *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES + (OutputBufferSize)); if (*OutputBuffer == NULL) { return EFI_OUT_OF_RESOURCES; } DEBUG ((DEBUG_INFO, "Customized Guided section Memory Size required is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer)); - // - // *OutputBuffer still is one section. Adjust *OutputBuffer offset, - // skip EFI section header to make section data at page alignment. - // - *OutputBuffer = (VOID *)((UINT8 *) *OutputBuffer + EFI_PAGE_SIZE - sizeof (EFI_COMMON_SECTION_HEADER)); } Status = ExtractGuidedSectionDecode ( -- 2.8.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Star: Right. I will send the separate patch for it. >-----Original Message----- >From: Zeng, Star >Sent: Wednesday, January 10, 2018 1:38 PM >To: Gao, Liming <liming.gao@intel.com>; edk2-devel@lists.01.org >Cc: Zeng, Star <star.zeng@intel.com> >Subject: RE: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code >alignment adjustment. > >Liming, > >Similar change should be also done in Decompress() of DxeLoad.c, right? > > >Thanks, >Star >-----Original Message----- >From: Gao, Liming >Sent: Wednesday, January 10, 2018 1:33 PM >To: edk2-devel@lists.01.org >Cc: Zeng, Star <star.zeng@intel.com> >Subject: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment >adjustment. > >Section data alignment should be made in the build generation. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Liming Gao <liming.gao@intel.com> >Cc: Star Zeng <star.zeng@intel.com> >--- > MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > >diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >index 1f626a9..f4d7528 100644 >--- a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >+++ b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >@@ -3,7 +3,7 @@ > Responsibility of this module is to load the DXE Core from a Firmware >Volume. > > Copyright (c) 2016 HP Development Company, L.P. >-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> >+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > This program and the accompanying materials are licensed and made >available under the terms and conditions of the BSD License which >accompanies this distribution. The full text of the license may be found at >@@ -593,16 +593,11 @@ CustomGuidedSectionExtract ( > // > // Allocate output buffer > // >- *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES (OutputBufferSize) + >1); >+ *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES >+ (OutputBufferSize)); > if (*OutputBuffer == NULL) { > return EFI_OUT_OF_RESOURCES; > } > DEBUG ((DEBUG_INFO, "Customized Guided section Memory Size required >is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer)); >- // >- // *OutputBuffer still is one section. Adjust *OutputBuffer offset, >- // skip EFI section header to make section data at page alignment. >- // >- *OutputBuffer = (VOID *)((UINT8 *) *OutputBuffer + EFI_PAGE_SIZE - >sizeof (EFI_COMMON_SECTION_HEADER)); > } > > Status = ExtractGuidedSectionDecode ( >-- >2.8.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Ok, Reviewed-by: Star Zeng <star.zeng@intel.com> Thanks, Star -----Original Message----- From: Gao, Liming Sent: Wednesday, January 10, 2018 1:40 PM To: Zeng, Star <star.zeng@intel.com>; edk2-devel@lists.01.org Subject: RE: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment. Star: Right. I will send the separate patch for it. >-----Original Message----- >From: Zeng, Star >Sent: Wednesday, January 10, 2018 1:38 PM >To: Gao, Liming <liming.gao@intel.com>; edk2-devel@lists.01.org >Cc: Zeng, Star <star.zeng@intel.com> >Subject: RE: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code >alignment adjustment. > >Liming, > >Similar change should be also done in Decompress() of DxeLoad.c, right? > > >Thanks, >Star >-----Original Message----- >From: Gao, Liming >Sent: Wednesday, January 10, 2018 1:33 PM >To: edk2-devel@lists.01.org >Cc: Zeng, Star <star.zeng@intel.com> >Subject: [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code >alignment adjustment. > >Section data alignment should be made in the build generation. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Liming Gao <liming.gao@intel.com> >Cc: Star Zeng <star.zeng@intel.com> >--- > MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > >diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >index 1f626a9..f4d7528 100644 >--- a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >+++ b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c >@@ -3,7 +3,7 @@ > Responsibility of this module is to load the DXE Core from a >Firmware Volume. > > Copyright (c) 2016 HP Development Company, L.P. >-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> >+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > This program and the accompanying materials are licensed and made >available under the terms and conditions of the BSD License which >accompanies this distribution. The full text of the license may be >found at @@ -593,16 +593,11 @@ CustomGuidedSectionExtract ( > // > // Allocate output buffer > // >- *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES (OutputBufferSize) + >1); >+ *OutputBuffer = AllocatePages (EFI_SIZE_TO_PAGES >+ (OutputBufferSize)); > if (*OutputBuffer == NULL) { > return EFI_OUT_OF_RESOURCES; > } > DEBUG ((DEBUG_INFO, "Customized Guided section Memory Size >required is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer)); >- // >- // *OutputBuffer still is one section. Adjust *OutputBuffer offset, >- // skip EFI section header to make section data at page alignment. >- // >- *OutputBuffer = (VOID *)((UINT8 *) *OutputBuffer + EFI_PAGE_SIZE - >sizeof (EFI_COMMON_SECTION_HEADER)); > } > > Status = ExtractGuidedSectionDecode ( >-- >2.8.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.