[edk2-devel] [Patch V2 1/3] EmulatorPkg: Fix VS20xx IA32 boot failure

Michael D Kinney posted 3 patches 6 years, 6 months ago
There is a newer version of this series
[edk2-devel] [Patch V2 1/3] EmulatorPkg: Fix VS20xx IA32 boot failure
Posted by Michael D Kinney 6 years, 6 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=2056

The IA32 build of the EmulatorPkg for VS20xx does not boot
because the default value of PCD PcdPeiServicesTablePage
rarely succeeds to be mapped on IA32 Windows Host Environments.
Change the DEC default value for this PCD to a value that
is compatible with Windows and POSIX host environments for
IA32 and X64.  For IA32 builds, this 64-bit PCD is truncated
to a 32-bit value.

PcdPeiServicesTablePage is changed from 0x1003000000 to
0x1013000000.  With this new value, no boot failures are
observed.  However, the use of this hard coded value can
potentially cause a boot failure if this address specified
by the PCD is already allocated in the user process.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 EmulatorPkg/EmulatorPkg.dec | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/EmulatorPkg/EmulatorPkg.dec b/EmulatorPkg/EmulatorPkg.dec
index c36f2c4186..99250d9fe5 100644
--- a/EmulatorPkg/EmulatorPkg.dec
+++ b/EmulatorPkg/EmulatorPkg.dec
@@ -2,7 +2,7 @@
 #
 # This is the Emu Emulation Environment Platform
 #
-# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2019, Intel Corporation. All rights reserved.<BR>
 # Portions copyright (c) 2011, Apple Inc. All rights reserved.
 #
 #    SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -66,7 +66,7 @@ [PcdsFixedAtBuild]
   gEmulatorPkgTokenSpaceGuid.PcdEmuApCount|L"0"|VOID*|0x00001019
 
   ## Magic page to implement PEI Services Table Pointer Lib
-  gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1003000000|UINT64|0x0000101b
+  gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1013000000|UINT64|0x0000101b
 
   ## Size of the packet filter
   gEmulatorPkgTokenSpaceGuid.PcdNetworkPacketFilterSize|524288|UINT32|0x0000101c
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#45100): https://edk2.groups.io/g/devel/message/45100
Mute This Topic: https://groups.io/mt/32794934/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch V2 1/3] EmulatorPkg: Fix VS20xx IA32 boot failure
Posted by Wu, Hao A 6 years, 6 months ago
> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Michael D Kinney
> Sent: Thursday, August 08, 2019 10:26 AM
> To: devel@edk2.groups.io
> Cc: Justen, Jordan L; Andrew Fish; Ni, Ray
> Subject: [edk2-devel] [Patch V2 1/3] EmulatorPkg: Fix VS20xx IA32 boot
> failure
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=2056
> 
> The IA32 build of the EmulatorPkg for VS20xx does not boot
> because the default value of PCD PcdPeiServicesTablePage
> rarely succeeds to be mapped on IA32 Windows Host Environments.
> Change the DEC default value for this PCD to a value that
> is compatible with Windows and POSIX host environments for
> IA32 and X64.  For IA32 builds, this 64-bit PCD is truncated
> to a 32-bit value.
> 
> PcdPeiServicesTablePage is changed from 0x1003000000 to
> 0x1013000000.  With this new value, no boot failures are
> observed.  However, the use of this hard coded value can
> potentially cause a boot failure if this address specified
> by the PCD is already allocated in the user process.


Thanks for the additional information, the patch is good to me,
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

Best Regards,
Hao Wu


> 
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
>  EmulatorPkg/EmulatorPkg.dec | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/EmulatorPkg/EmulatorPkg.dec b/EmulatorPkg/EmulatorPkg.dec
> index c36f2c4186..99250d9fe5 100644
> --- a/EmulatorPkg/EmulatorPkg.dec
> +++ b/EmulatorPkg/EmulatorPkg.dec
> @@ -2,7 +2,7 @@
>  #
>  # This is the Emu Emulation Environment Platform
>  #
> -# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2008 - 2019, Intel Corporation. All rights reserved.<BR>
>  # Portions copyright (c) 2011, Apple Inc. All rights reserved.
>  #
>  #    SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -66,7 +66,7 @@ [PcdsFixedAtBuild]
>    gEmulatorPkgTokenSpaceGuid.PcdEmuApCount|L"0"|VOID*|0x00001019
> 
>    ## Magic page to implement PEI Services Table Pointer Lib
> -
> gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1003000000|UIN
> T64|0x0000101b
> +
> gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1013000000|UIN
> T64|0x0000101b
> 
>    ## Size of the packet filter
> 
> gEmulatorPkgTokenSpaceGuid.PcdNetworkPacketFilterSize|524288|UINT32
> |0x0000101c
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#45117): https://edk2.groups.io/g/devel/message/45117
Mute This Topic: https://groups.io/mt/32794934/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-