Reviewed-by: jiewen....@intel.com

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Satya Yarlagadda
> Sent: Saturday, September 17, 2016 11:25 AM
> To: edk2-devel@lists.01.org
> Cc: Yao, Jiewen <jiewen....@intel.com>
> Subject: [edk2] [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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to