Lines Matching refs:args

62 def check_sp_mk_gen(args :dict):
63 if "sp_gen_mk" not in args.keys():
66 def check_out_dir(args :dict):
67 if "out_dir" not in args.keys() or not os.path.isdir(args["out_dir"]):
70 def check_sp_layout_dir(args :dict):
71 if "sp_layout_dir" not in args.keys() or not os.path.isdir(args["sp_layout_dir"]):
74 def write_to_sp_mk_gen(content, args :dict):
75 check_sp_mk_gen(args)
76 with open(args["sp_gen_mk"], "a") as f:
79 def get_sp_manifest_full_path(sp_node, args :dict):
80 check_sp_layout_dir(args)
81 return os.path.join(args["sp_layout_dir"], get_file_from_layout(sp_node["pm"]))
83 def get_sp_img_full_path(sp_node, args :dict):
84 check_sp_layout_dir(args)
85 return os.path.join(args["sp_layout_dir"], get_file_from_layout(sp_node["image"]))
87 def get_sp_pkg(sp, args :dict):
88 check_out_dir(args)
89 return os.path.join(args["out_dir"], f"{sp}.pkg")
91 def is_line_in_sp_gen(line, args :dict):
92 with open(args["sp_gen_mk"], "r") as f:
116 def get_uuid(sp_layout, sp, args :dict):
122 with open(get_sp_manifest_full_path(sp_layout[sp], args), "r") as pm_f:
135 def get_load_address(sp_layout, sp, args :dict):
137 with open(get_sp_manifest_full_path(sp_layout[sp], args), "r") as pm_f:
145 def check_max_sps(sp_layout, _, args :dict):
149 return args
152 def gen_fdt_sources(sp_layout, sp, args :dict):
154 manifest_path = get_sp_manifest_full_path(sp_layout[sp], args)
155 write_to_sp_mk_gen(f"FDT_SOURCES += {manifest_path}", args)
156 return args
159 def gen_sptool_args(sp_layout, sp, args :dict):
161 sp_pkg = get_sp_pkg(sp, args)
163 sp_dtb = os.path.join(args["out_dir"], f"fdts/{sp_dtb_name}")
164 sp_img = get_sp_img_full_path(sp_layout[sp], args)
167 if is_line_in_sp_gen(f'{sp_pkg}:', args):
168 return args
169 write_to_sp_mk_gen(f"SP_PKGS += {sp_pkg}\n", args)
182 write_to_sp_mk_gen(sppkg_rule, args)
183 return args
186 def check_dualroot(sp_layout, _, args :dict):
188 if not args.get("dualroot"):
189 return args
190 args["split"] = int(MAX_SP / 2)
192 args["plat_max_count"] = owners.count("Plat")
194 args["sip_max_count"] = len(sp_layout.keys()) - args["plat_max_count"]
195 if args["sip_max_count"] > args["split"] or args["sip_max_count"] > args["split"]:
198 args["sip_count"] = 1
199 args["plat_count"] = 1
200 return args
203 def gen_crt_args(sp_layout, sp, args :dict):
207 if args.get("dualroot"):
210 if args["plat_count"] > args["plat_max_count"]:
212 sp_pkg_idx = args["plat_count"] + args["split"]
213 args["plat_count"] += 1
215 if args["sip_count"] > args["sip_max_count"]:
217 sp_pkg_idx = args["sip_count"]
218 args["sip_count"] += 1
221 write_to_sp_mk_gen(f"CRT_ARGS += --sp-pkg{sp_pkg_idx} {get_sp_pkg(sp, args)}\n", args)
222 return args
225 def gen_fiptool_args(sp_layout, sp, args :dict):
227 uuid_std = get_uuid(sp_layout, sp, args)
228 … write_to_sp_mk_gen(f"FIP_ARGS += --blob uuid={str(uuid_std)},file={get_sp_pkg(sp, args)}\n", args)
229 return args
232 def gen_fconf_fragment(sp_layout, sp, args: dict):
234 with open(args["fconf_fragment"], "a") as f:
235 uuid = get_uuid(sp_layout, sp, args)
241 load_address = get_load_address(sp_layout, sp, args)
252 return args
256 args = {}
257 args["sp_gen_mk"] = os.path.abspath(sys.argv[1])
259 args["sp_layout_dir"] = os.path.dirname(sp_layout_file)
260 args["out_dir"] = os.path.abspath(sys.argv[3])
261 args["dualroot"] = sys.argv[4] == "dualroot"
262 args["fconf_fragment"] = os.path.abspath(sys.argv[5])
268 with open(args["sp_gen_mk"], "w"):
271 with open(args["fconf_fragment"], "w"):
274 return args, sp_layout
277 args, sp_layout = init_sp_actions(sys) variable
278 SpSetupActions.run_actions(sp_layout, args)