[edk2] [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment.

Liming Gao posted 2 patches 6 years, 11 months ago
[edk2] [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment.
Posted by Liming Gao 6 years, 11 months ago
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
Re: [edk2] [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment.
Posted by Zeng, Star 6 years, 11 months ago
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
Re: [edk2] [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment.
Posted by Gao, Liming 6 years, 11 months ago
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
Re: [edk2] [Patch 1/2] MdeModulePkg DxeIpl: remove the hard code alignment adjustment.
Posted by Zeng, Star 6 years, 11 months ago
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