Topics

[PATCH 1/1] MdeModulePkg/DxeIplPeim: Initialize pointer PageMapLevel5Entry

Zhang, Shenglei
 

Initialize PageMapLevel5Entry at the beginning of the function.

This commit will fix a GCC 4.8.5 build failure introduced by commit
b3527dedc3951f061c5a73cb4fb2b0f95f47e08b.

OvmfPkg build failure wtih gcc 4.8.5 still exists at latest edk2 version.
The commit 46f8a6891606746ca8b1e684ac379ce271306dc0 seems not to fix
the build failure completely.

Cc: Dandan Bi <dandan.bi@...>
Cc: Liming Gao <liming.gao@...>
Cc: Hao A Wu <hao.a.wu@...>
Signed-off-by: Shenglei Zhang <shenglei.zhang@...>
---
MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
index 2389f3eb485b..aae80536ac3d 100644
--- a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
+++ b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
@@ -652,6 +652,8 @@ CreateIdentityMappingPageTables (
UINT64 AddressEncMask;
IA32_CR4 Cr4;

+ PageMapLevel5Entry = NULL;
+
//
// Make sure AddressEncMask is contained to smallest supported address field
//
--
2.18.0.windows.1

Laszlo Ersek
 

On 08/14/19 09:37, Zhang, Shenglei wrote:
Initialize PageMapLevel5Entry at the beginning of the function.

This commit will fix a GCC 4.8.5 build failure introduced by commit
b3527dedc3951f061c5a73cb4fb2b0f95f47e08b.

OvmfPkg build failure wtih gcc 4.8.5 still exists at latest edk2 version.
The commit 46f8a6891606746ca8b1e684ac379ce271306dc0 seems not to fix
the build failure completely.

Cc: Dandan Bi <dandan.bi@...>
Cc: Liming Gao <liming.gao@...>
Cc: Hao A Wu <hao.a.wu@...>
Signed-off-by: Shenglei Zhang <shenglei.zhang@...>
---
MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
index 2389f3eb485b..aae80536ac3d 100644
--- a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
+++ b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
@@ -652,6 +652,8 @@ CreateIdentityMappingPageTables (
UINT64 AddressEncMask;
IA32_CR4 Cr4;

+ PageMapLevel5Entry = NULL;
+
//
// Make sure AddressEncMask is contained to smallest supported address field
//
If you are convinced that we need this assignment *only* for suppressing
an invalid compiler warning, then please add a comment about it:

//
// set PageMapLevel5Entry to suppress incorrect compiler/analyzer
// warnings
//

Related documentation BZ:

https://bugzilla.tianocore.org/show_bug.cgi?id=607

... Just a suggestion from my side; I defer to the MdeModulePkg maintainers.

Thanks
Laszlo

Liming Gao
 

Shenglei:
The change is good. I agree to add comments for this change purpose like BZ https://bugzilla.tianocore.org/show_bug.cgi?id=607

With this change, Reviewed-by: Liming Gao <liming.gao@...>.

Thanks
Liming

-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek
Sent: Thursday, August 15, 2019 1:12 AM
To: devel@edk2.groups.io; Zhang, Shenglei <shenglei.zhang@...>
Cc: Bi, Dandan <dandan.bi@...>; Gao, Liming <liming.gao@...>; Wu, Hao A <hao.a.wu@...>
Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/DxeIplPeim: Initialize pointer PageMapLevel5Entry

On 08/14/19 09:37, Zhang, Shenglei wrote:
Initialize PageMapLevel5Entry at the beginning of the function.

This commit will fix a GCC 4.8.5 build failure introduced by commit
b3527dedc3951f061c5a73cb4fb2b0f95f47e08b.

OvmfPkg build failure wtih gcc 4.8.5 still exists at latest edk2 version.
The commit 46f8a6891606746ca8b1e684ac379ce271306dc0 seems not to fix
the build failure completely.

Cc: Dandan Bi <dandan.bi@...>
Cc: Liming Gao <liming.gao@...>
Cc: Hao A Wu <hao.a.wu@...>
Signed-off-by: Shenglei Zhang <shenglei.zhang@...>
---
MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
index 2389f3eb485b..aae80536ac3d 100644
--- a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
+++ b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
@@ -652,6 +652,8 @@ CreateIdentityMappingPageTables (
UINT64 AddressEncMask;
IA32_CR4 Cr4;

+ PageMapLevel5Entry = NULL;
+
//
// Make sure AddressEncMask is contained to smallest supported address field
//
If you are convinced that we need this assignment *only* for suppressing
an invalid compiler warning, then please add a comment about it:

//
// set PageMapLevel5Entry to suppress incorrect compiler/analyzer
// warnings
//

Related documentation BZ:

https://bugzilla.tianocore.org/show_bug.cgi?id=607

... Just a suggestion from my side; I defer to the MdeModulePkg maintainers.

Thanks
Laszlo

Wu, Hao A
 

-----Original Message-----
From: Gao, Liming
Sent: Thursday, August 15, 2019 8:26 AM
To: devel@edk2.groups.io; lersek@...; Zhang, Shenglei
Cc: Bi, Dandan; Wu, Hao A
Subject: RE: [edk2-devel] [PATCH 1/1] MdeModulePkg/DxeIplPeim: Initialize
pointer PageMapLevel5Entry

Shenglei:
The change is good. I agree to add comments for this change purpose like BZ
https://bugzilla.tianocore.org/show_bug.cgi?id=607

Hello Shenglei,

Could you help to send out a V2 patch to address Laszlo's comments.
Thanks in advance.

Best Regards,
Hao Wu



With this change, Reviewed-by: Liming Gao <liming.gao@...>.

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
Laszlo Ersek
Sent: Thursday, August 15, 2019 1:12 AM
To: devel@edk2.groups.io; Zhang, Shenglei <shenglei.zhang@...>
Cc: Bi, Dandan <dandan.bi@...>; Gao, Liming
<liming.gao@...>; Wu, Hao A <hao.a.wu@...>
Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/DxeIplPeim:
Initialize pointer PageMapLevel5Entry

On 08/14/19 09:37, Zhang, Shenglei wrote:
Initialize PageMapLevel5Entry at the beginning of the function.

This commit will fix a GCC 4.8.5 build failure introduced by commit
b3527dedc3951f061c5a73cb4fb2b0f95f47e08b.

OvmfPkg build failure wtih gcc 4.8.5 still exists at latest edk2 version.
The commit 46f8a6891606746ca8b1e684ac379ce271306dc0 seems not to
fix
the build failure completely.

Cc: Dandan Bi <dandan.bi@...>
Cc: Liming Gao <liming.gao@...>
Cc: Hao A Wu <hao.a.wu@...>
Signed-off-by: Shenglei Zhang <shenglei.zhang@...>
---
MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
index 2389f3eb485b..aae80536ac3d 100644
--- a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
+++ b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
@@ -652,6 +652,8 @@ CreateIdentityMappingPageTables (
UINT64 AddressEncMask;
IA32_CR4 Cr4;

+ PageMapLevel5Entry = NULL;
+
//
// Make sure AddressEncMask is contained to smallest supported
address field
//
If you are convinced that we need this assignment *only* for suppressing
an invalid compiler warning, then please add a comment about it:

//
// set PageMapLevel5Entry to suppress incorrect compiler/analyzer
// warnings
//

Related documentation BZ:

https://bugzilla.tianocore.org/show_bug.cgi?id=607

... Just a suggestion from my side; I defer to the MdeModulePkg
maintainers.

Thanks
Laszlo