Reviewed-by: Giri P Mudusuru <giri.p.mudus...@intel.com> > -----Original Message----- > From: Yarlagadda, Satya P > Sent: Friday, September 16, 2016 8:25 PM > To: edk2-devel@lists.01.org > Cc: Ma, Maurice <maurice...@intel.com>; Yao, Jiewen > <jiewen....@intel.com>; Mudusuru, Giri P <giri.p.mudus...@intel.com> > Subject: [PATCH] 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...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Giri P Mudusuru <giri.p.mudus...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Satya Yarlagadda <satya.p.yarlaga...@intel.com> > --- > IntelFsp2Pkg/Tools/GenCfgOpt.py | 11 +++++++---- > 1 file 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() > > -- > 2.10.0.windows.1
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel