summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatya Yarlagadda <satya.p.yarlagadda@intel.com>2016-09-17 11:24:49 +0800
committerHao Wu <hao.a.wu@intel.com>2016-10-31 09:13:16 +0800
commit9097134f202c292bbfad591bd77b37b2f1aaef3d (patch)
tree455a724bb15bed7bfa046bf26547cc07caa58dc6
parent959ad80b7005d9a98362d24862c131263fe5ca83 (diff)
downloadedk2-9097134f202c292bbfad591bd77b37b2f1aaef3d.zip
edk2-9097134f202c292bbfad591bd77b37b2f1aaef3d.tar.gz
edk2-9097134f202c292bbfad591bd77b37b2f1aaef3d.tar.bz2
IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs
Changed the GenCfgOpt.py script to insert pragma pack(1) instead of pragma pack (push, 1) in the upd header files generated during fsp build. This is to align with rest of the EDKII pkgs pragma pack usage. Also, this scripts generates UnusedUpdSpace for UPD address gaps. Currently it uses UIN16/UINT32/UINT64 for 2/4/8 bytes instead of UINT8[], thus causing upd space waste to have Natural Alignment. Hence changed the script to use UINT8[] for any unusedUpd fields above 1 byte. Cc: Maurice Ma <maurice.ma@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Satya Yarlagadda <satya.p.yarlagadda@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com> (cherry picked from commit cd3692b11ed3c760acc1015ac19785b9a36054e8)
-rw-r--r--IntelFsp2Pkg/Tools/GenCfgOpt.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt.py
index e8cec95..654cdfc 100644
--- a/IntelFsp2Pkg/Tools/GenCfgOpt.py
+++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py
@@ -875,6 +875,9 @@ EndList
IsArray = False
if Length in [1,2,4,8]:
Type = "UINT%d" % (Length * 8)
+ if Name.startswith("UnusedUpdSpace") and Length != 1:
+ IsArray = True
+ Type = "UINT8"
else:
IsArray = True
Type = "UINT8"
@@ -1129,7 +1132,7 @@ EndList
HeaderFd.write("#ifndef __%s__\n" % FileName)
HeaderFd.write("#define __%s__\n\n" % FileName)
HeaderFd.write("#include <%s>\n\n" % HeaderFileName)
- HeaderFd.write("#pragma pack(push, 1)\n\n")
+ HeaderFd.write("#pragma pack(1)\n\n")
Export = False
for Line in IncLines:
@@ -1177,7 +1180,7 @@ EndList
for Item in range(len(StructStart)):
if Index >= StructStartWithComment[Item] and Index <= StructEnd[Item]:
HeaderFd.write (Line)
- HeaderFd.write("#pragma pack(pop)\n\n")
+ HeaderFd.write("#pragma pack()\n\n")
HeaderFd.write("#endif\n")
HeaderFd.close()
@@ -1188,7 +1191,7 @@ EndList
HeaderFd.write("#ifndef __%s__\n" % FileName)
HeaderFd.write("#define __%s__\n\n" % FileName)
HeaderFd.write("#include <FspEas.h>\n\n")
- HeaderFd.write("#pragma pack(push, 1)\n\n")
+ HeaderFd.write("#pragma pack(1)\n\n")
for item in range(len(UpdRegionCheck)):
Index = 0
@@ -1222,7 +1225,7 @@ EndList
for Item in range(len(StructStart)):
if Index >= StructStartWithComment[Item] and Index <= StructEnd[Item]:
HeaderFd.write (Line)
- HeaderFd.write("#pragma pack(pop)\n\n")
+ HeaderFd.write("#pragma pack()\n\n")
HeaderFd.write("#endif\n")
HeaderFd.close()