* [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs
@ 2016-09-17 3:24 Satya Yarlagadda
2016-09-17 15:36 ` Mudusuru, Giri P
2016-09-18 1:11 ` Yao, Jiewen
0 siblings, 2 replies; 3+ messages in thread
From: Satya Yarlagadda @ 2016-09-17 3:24 UTC (permalink / raw)
To: edk2-devel; +Cc: Maurice Ma, Jiewen Yao, Giri P Mudusuru
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>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs
2016-09-17 3:24 [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs Satya Yarlagadda
@ 2016-09-17 15:36 ` Mudusuru, Giri P
2016-09-18 1:11 ` Yao, Jiewen
1 sibling, 0 replies; 3+ messages in thread
From: Mudusuru, Giri P @ 2016-09-17 15:36 UTC (permalink / raw)
To: Yarlagadda, Satya P, edk2-devel@lists.01.org
Cc: Ma, Maurice, Yao, Jiewen, Mudusuru, Giri P
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@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.ma@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Mudusuru, Giri P <giri.p.mudusuru@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.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>
> ---
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs
2016-09-17 3:24 [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs Satya Yarlagadda
2016-09-17 15:36 ` Mudusuru, Giri P
@ 2016-09-18 1:11 ` Yao, Jiewen
1 sibling, 0 replies; 3+ messages in thread
From: Yao, Jiewen @ 2016-09-18 1:11 UTC (permalink / raw)
To: Yarlagadda, Satya P, edk2-devel@lists.01.org
Reviewed-by: jiewen.yao@intel.com
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@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.yao@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.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>
> ---
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-18 1:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-17 3:24 [PATCH] IntelFsp2Pkg: Align #Pragma in UPD header files to rest of EDK2 Pkgs Satya Yarlagadda
2016-09-17 15:36 ` Mudusuru, Giri P
2016-09-18 1:11 ` Yao, Jiewen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox