[if gte mso 9]>

Re: [edk2] [patch] MdeModulePkg: New DxeIpl Feature flag

Subject: Re: [edk2] [patch] MdeModulePkg: New DxeIpl Feature flag

From: "Sun, Rui" <rui.sun@intel.com>

To: Andrew Fish <afish@apple.com>, "edk2-devel@lists.sourceforge.net" <edk2-devel@lists.sourceforge.net>

Date: 2011-07-14 18:05:23



The patch is accepted. However, it needs a modification:


+  X64/DxeLoadFunc.c    ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables


Please remove “||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables” because DxeLoadFunc.c is still needed when PcdDxeIplBuildPageTables evaluates to FALSE.


Also please add a blank space before “(“ for “FeaturePcdGet(PcdDxeIplBuildPageTables)”.


Generally, for a x64-PEI and x64-DXE native platform, page table still needs to be created because the SEC creates page table only for the first 4G memory space due to size limitation on flash, except that there is no remapped physical memory and MMIO range above 4G.


From: Andrew Fish [mailto:afish@apple.com]
Sent: Wednesday, July 13, 2011 2:23 AM
To: edk2-devel@lists.sourceforge.net
Cc: rsun3@users.sourceforge.net
Subject: [patch] MdeModulePkg: New DxeIpl Feature flag


Any update on the status of this patch? It fixes an issue with the EmulatorPkg depending on the UnixPkg, so we would like to add the feature? 


Andrew Fish




Begin forwarded message:

From: Andrew Fish <afish@apple.com>

Date: July 8, 2011 11:03:55 AM PDT

Subject: [patch] MdeModulePkg: New DxeIpl Feature flag


rsun3 and other edk2 community, 

The attached patch adds the PcdDxeIplBuildPageTables PCD Feature flag to the DXE IPL. This flag is used on an X64 PEI, X64 DXE system to tell the DXE IPL to not rebuild the page tables. Currently only the various emulation environments support X64 PEI & DXE. For OS hosted emulation the CR3 write causes a privilege violation (current solution is a cloned version of the BaseLib). If a real platform ever had X64 PEI, then rebuilding the page tables could cause a performance issue, so I think this flag is useful in general. 

Andrew Fish