summaryrefslogtreecommitdiffstats
path: root/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch')
-rw-r--r--recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch427
1 files changed, 0 insertions, 427 deletions
diff --git a/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch b/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch
deleted file mode 100644
index 9621cf6c..00000000
--- a/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch
+++ /dev/null
@@ -1,427 +0,0 @@
1From 0d4941123b5a88351f5954f6de00892f85ed5abc Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Mon, 20 Jan 2020 22:32:13 +0000
4Subject: [PATCH] scripts: update scripts to use python3
5
6Python2 is deprecated effective Jan. 2020, and is not available in
7several distributions.
8
9Update scripts here to re-target then onto python version 3.
10
11Upstream-Status: Pending
12
13Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
14---
15 scripts/gen_hashed_bin.py | 282 ++++++++++++++++++++------------------
16 scripts/gen_ld_sects.py | 8 +-
17 scripts/pem_to_pub_c.py | 2 +-
18 scripts/sign.py | 2 +-
19 scripts/symbolize.py | 2 +-
20 scripts/ta_bin_to_c.py | 2 +-
21 scripts/tee_bin_parser.py | 2 +-
22 7 files changed, 157 insertions(+), 143 deletions(-)
23
24diff --git a/scripts/gen_hashed_bin.py b/scripts/gen_hashed_bin.py
25index 32350a47..a76a62cc 100755
26--- a/scripts/gen_hashed_bin.py
27+++ b/scripts/gen_hashed_bin.py
28@@ -1,4 +1,4 @@
29-#!/usr/bin/env python
30+#!/usr/bin/env python3
31 # SPDX-License-Identifier: BSD-2-Clause
32 #
33 # Copyright (c) 2014-2017, Linaro Limited
34@@ -14,163 +14,177 @@ import hashlib
35 arch_id = {'arm32': 0, 'arm64': 1}
36 image_id = {'pager': 0, 'paged': 1}
37
38+
39 def write_header_v1(outf, init_size, args, paged_size):
40- magic = 0x4554504f # 'OPTE'
41- version = 1;
42- outf.write(struct.pack('<IBBHIIIII', \
43- magic, version, arch_id[args.arch], args.flags, init_size, \
44- args.init_load_addr_hi, args.init_load_addr_lo, \
45- args.init_mem_usage, paged_size))
46+ magic = 0x4554504f # 'OPTE'
47+ version = 1
48+ outf.write(struct.pack('<IBBHIIIII',
49+ magic,
50+ version,
51+ arch_id[args.arch],
52+ args.flags,
53+ init_size,
54+ args.init_load_addr_hi,
55+ args.init_load_addr_lo,
56+ args.init_mem_usage,
57+ paged_size))
58+
59
60 def write_header_v2(outf, init_size, args, paged_size):
61- magic = 0x4554504f # 'OPTE'
62- version = 2
63- nb_images = 1 if paged_size == 0 else 2
64- outf.write(struct.pack('<IBBHI', \
65- magic, version, arch_id[args.arch], args.flags, nb_images))
66- outf.write(struct.pack('<IIII', \
67- args.init_load_addr_hi, args.init_load_addr_lo, \
68- image_id['pager'], init_size))
69- if nb_images == 2:
70- outf.write(struct.pack('<IIII', \
71- 0xffffffff, 0xffffffff, image_id['paged'], paged_size))
72+ magic = 0x4554504f # 'OPTE'
73+ version = 2
74+ nb_images = 1 if paged_size == 0 else 2
75+ outf.write(struct.pack('<IBBHI', magic, version,
76+ arch_id[args.arch], args.flags, nb_images))
77+ outf.write(struct.pack('<IIII',
78+ args.init_load_addr_hi, args.init_load_addr_lo,
79+ image_id['pager'], init_size))
80+ if nb_images == 2:
81+ outf.write(
82+ struct.pack(
83+ '<IIII',
84+ 0xffffffff,
85+ 0xffffffff,
86+ image_id['paged'],
87+ paged_size))
88+
89
90 def append_to(outf, start_offs, in_fname, max_bytes=0xffffffff):
91- #print "Appending %s@0x%x 0x%x bytes at position 0x%x" % \
92- #( in_fname, start_offs, max_bytes, int(outf.tell()) )
93- inf = open(in_fname, 'rb');
94- inf.seek(start_offs)
95- while True :
96- nbytes = min(16 * 1024, max_bytes)
97- if nbytes == 0 :
98- break
99- #print "Reading %s %d bytes" % (in_fname, nbytes)
100- buf = inf.read(nbytes)
101- if not buf :
102- break
103- outf.write(buf)
104- max_bytes -= len(buf)
105- inf.close()
106+ inf = open(in_fname, 'rb')
107+ inf.seek(start_offs)
108+ while True:
109+ nbytes = min(16 * 1024, max_bytes)
110+ if nbytes == 0:
111+ break
112+ buf = inf.read(nbytes)
113+ if not buf:
114+ break
115+ outf.write(buf)
116+ max_bytes -= len(buf)
117+ inf.close()
118+
119
120 def append_hashes(outf, in_fname):
121- page_size = 4 * 1024
122-
123- inf = open(in_fname, 'r')
124- while True :
125- page = inf.read(page_size)
126- if len(page) == page_size :
127- #print "Writing hash at position 0x%x" % \
128- #int(outf.tell())
129- outf.write(hashlib.sha256(page).digest())
130- elif len(page) == 0 :
131- break
132- else :
133- print("Error: short read, got " + repr(len(page)))
134- sys.exit(1)
135-
136- inf.close()
137+ page_size = 4 * 1024
138+
139+ inf = open(in_fname, 'rb')
140+ while True:
141+ page = inf.read(page_size)
142+ if len(page) == page_size:
143+ outf.write(hashlib.sha256(page).digest())
144+ elif len(page) == 0:
145+ break
146+ else:
147+ print("Error: short read, got {}".format(len(page)))
148+ sys.exit(1)
149+
150+ inf.close()
151+
152
153 def int_parse(str):
154- return int(str, 0)
155+ return int(str, 0)
156+
157
158 def get_args():
159- parser = argparse.ArgumentParser()
160- parser.add_argument('--arch', required=True, \
161- choices=arch_id.keys(), \
162- help='Architecture')
163+ parser = argparse.ArgumentParser()
164+ parser.add_argument('--arch', required=True,
165+ choices=list(arch_id.keys()),
166+ help='Architecture')
167
168- parser.add_argument('--flags', \
169- type=int, default=0, \
170- help='Flags, currently none defined')
171+ parser.add_argument('--flags',
172+ type=int, default=0,
173+ help='Flags, currently none defined')
174
175- parser.add_argument('--init_size', \
176- required=True, type=int_parse, \
177- help='Size of initialization part of binary')
178+ parser.add_argument('--init_size',
179+ required=True, type=int_parse,
180+ help='Size of initialization part of binary')
181
182- parser.add_argument('--init_load_addr_hi', \
183- type=int_parse, default=0, \
184- help='Upper 32 bits of load address of binary')
185+ parser.add_argument('--init_load_addr_hi',
186+ type=int_parse, default=0,
187+ help='Upper 32 bits of load address of binary')
188
189- parser.add_argument('--init_load_addr_lo', \
190- required=True, type=int_parse, \
191- help='Lower 32 bits of load address of binary')
192+ parser.add_argument('--init_load_addr_lo',
193+ required=True, type=int_parse,
194+ help='Lower 32 bits of load address of binary')
195
196- parser.add_argument('--init_mem_usage', \
197- required=True, type=int_parse, \
198- help='Total amount of used memory when initializing');
199+ parser.add_argument('--init_mem_usage',
200+ required=True, type=int_parse,
201+ help='Total amount of used memory when initializing')
202
203- parser.add_argument('--tee_pager_bin', \
204- required=True, \
205- help='The input tee_pager.bin')
206+ parser.add_argument('--tee_pager_bin',
207+ required=True,
208+ help='The input tee_pager.bin')
209
210- parser.add_argument('--tee_pageable_bin', \
211- required=True, \
212- help='The input tee_pageable.bin')
213+ parser.add_argument('--tee_pageable_bin',
214+ required=True,
215+ help='The input tee_pageable.bin')
216
217- parser.add_argument('--out', \
218- required=False, type=argparse.FileType('wb'), \
219- help='The output tee.bin')
220+ parser.add_argument('--out',
221+ required=False, type=argparse.FileType('wb'),
222+ help='The output tee.bin')
223
224- parser.add_argument('--out_header_v2', \
225- required=False, type=argparse.FileType('wb'), \
226- help='The output tee_header_v2.bin')
227+ parser.add_argument('--out_header_v2',
228+ required=False, type=argparse.FileType('wb'),
229+ help='The output tee_header_v2.bin')
230
231- parser.add_argument('--out_pager_v2', \
232- required=False, type=argparse.FileType('wb'), \
233- help='The output tee_pager_v2.bin')
234+ parser.add_argument('--out_pager_v2',
235+ required=False, type=argparse.FileType('wb'),
236+ help='The output tee_pager_v2.bin')
237
238- parser.add_argument('--out_pageable_v2', \
239- required=False, type=argparse.FileType('wb'), \
240- help='The output tee_pageable_v2.bin')
241+ parser.add_argument('--out_pageable_v2',
242+ required=False, type=argparse.FileType('wb'),
243+ help='The output tee_pageable_v2.bin')
244+
245+ return parser.parse_args()
246
247- return parser.parse_args();
248
249 def main():
250- args = get_args()
251- init_bin_size = args.init_size
252- tee_pager_fname = args.tee_pager_bin
253- tee_pageable_fname = args.tee_pageable_bin
254- pager_input_size = os.path.getsize(tee_pager_fname);
255- paged_input_size = os.path.getsize(tee_pageable_fname);
256- hash_size = paged_input_size / (4 * 1024) * \
257- hashlib.sha256().digest_size
258-
259- if paged_input_size % (4 * 1024) != 0:
260- print("Error: pageable size not a multiple of 4K:" + \
261- repr(paged_input_size))
262- sys.exit(1)
263-
264- init_size = pager_input_size + \
265- min(init_bin_size, paged_input_size) + \
266- hash_size
267- paged_size = paged_input_size - \
268- min(init_bin_size, paged_input_size)
269-
270- if args.out is not None:
271- outf = args.out
272- write_header_v1(outf, init_size, args, paged_size)
273- append_to(outf, 0, tee_pager_fname)
274- append_to(outf, 0, tee_pageable_fname, init_bin_size)
275- append_hashes(outf, tee_pageable_fname)
276- append_to(outf, init_bin_size, tee_pageable_fname)
277- outf.close()
278-
279- if args.out_header_v2 is not None:
280- outf = args.out_header_v2
281- write_header_v2(outf, init_size, args, paged_size)
282- outf.close()
283-
284- if args.out_pager_v2 is not None:
285- outf = args.out_pager_v2
286- append_to(outf, 0, tee_pager_fname)
287- append_to(outf, 0, tee_pageable_fname, init_bin_size)
288- append_hashes(outf, tee_pageable_fname)
289- outf.close()
290-
291- if args.out_pageable_v2 is not None:
292- outf = args.out_pageable_v2
293- append_to(outf, init_bin_size, tee_pageable_fname)
294- outf.close()
295+ args = get_args()
296+ init_bin_size = args.init_size
297+ tee_pager_fname = args.tee_pager_bin
298+ tee_pageable_fname = args.tee_pageable_bin
299+ pager_input_size = os.path.getsize(tee_pager_fname)
300+ paged_input_size = os.path.getsize(tee_pageable_fname)
301+ hash_size = paged_input_size // (4 * 1024) * \
302+ hashlib.sha256().digest_size
303+
304+ if paged_input_size % (4 * 1024) != 0:
305+ print("Error: pageable size not a multiple of 4K: {}".format(
306+ paged_input_size))
307+ sys.exit(1)
308+
309+ init_size = pager_input_size + \
310+ min(init_bin_size, paged_input_size) + \
311+ hash_size
312+ paged_size = paged_input_size - \
313+ min(init_bin_size, paged_input_size)
314+
315+ if args.out is not None:
316+ outf = args.out
317+ write_header_v1(outf, init_size, args, paged_size)
318+ append_to(outf, 0, tee_pager_fname)
319+ append_to(outf, 0, tee_pageable_fname, init_bin_size)
320+ append_hashes(outf, tee_pageable_fname)
321+ append_to(outf, init_bin_size, tee_pageable_fname)
322+ outf.close()
323+
324+ if args.out_header_v2 is not None:
325+ outf = args.out_header_v2
326+ write_header_v2(outf, init_size, args, paged_size)
327+ outf.close()
328+
329+ if args.out_pager_v2 is not None:
330+ outf = args.out_pager_v2
331+ append_to(outf, 0, tee_pager_fname)
332+ append_to(outf, 0, tee_pageable_fname, init_bin_size)
333+ append_hashes(outf, tee_pageable_fname)
334+ outf.close()
335+
336+ if args.out_pageable_v2 is not None:
337+ outf = args.out_pageable_v2
338+ append_to(outf, init_bin_size, tee_pageable_fname)
339+ outf.close()
340+
341
342 if __name__ == "__main__":
343- main()
344+ main()
345diff --git a/scripts/gen_ld_sects.py b/scripts/gen_ld_sects.py
346index c5dc3a7b..2bdbb192 100755
347--- a/scripts/gen_ld_sects.py
348+++ b/scripts/gen_ld_sects.py
349@@ -1,4 +1,4 @@
350-#!/usr/bin/env python
351+#!/usr/bin/env python3
352 # SPDX-License-Identifier: BSD-2-Clause
353 #
354 # Copyright (c) 2017, Linaro Limited
355@@ -8,8 +8,8 @@ import sys
356 import re
357
358 def usage():
359- print "Usage: {0} <section reg exp match> [<skip section>...]".format( \
360- sys.argv[0])
361+ print("Usage: {0} <section reg exp match> [<skip section>...]".format( \
362+ sys.argv[0]))
363 sys.exit (1)
364
365 def main():
366@@ -55,7 +55,7 @@ def main():
367 if sect_name in skip_sections :
368 continue
369
370- print '\t*({0})'.format(sect_name)
371+ print ('\t*({0})'.format(sect_name))
372
373 if __name__ == "__main__":
374 main()
375diff --git a/scripts/pem_to_pub_c.py b/scripts/pem_to_pub_c.py
376index 6b8fa365..0b03d62e 100755
377--- a/scripts/pem_to_pub_c.py
378+++ b/scripts/pem_to_pub_c.py
379@@ -1,4 +1,4 @@
380-#!/usr/bin/env python
381+#!/usr/bin/env python3
382 # SPDX-License-Identifier: BSD-2-Clause
383 #
384 # Copyright (c) 2015, Linaro Limited
385diff --git a/scripts/sign.py b/scripts/sign.py
386index ad47479b..348b40a2 100755
387--- a/scripts/sign.py
388+++ b/scripts/sign.py
389@@ -1,4 +1,4 @@
390-#!/usr/bin/env python
391+#!/usr/bin/env python3
392 #
393 # Copyright (c) 2015, 2017, Linaro Limited
394 #
395diff --git a/scripts/symbolize.py b/scripts/symbolize.py
396index 1eecf758..0e9bd3ed 100755
397--- a/scripts/symbolize.py
398+++ b/scripts/symbolize.py
399@@ -1,4 +1,4 @@
400-#!/usr/bin/env python
401+#!/usr/bin/env python3
402 # SPDX-License-Identifier: BSD-2-Clause
403 #
404 # Copyright (c) 2017, Linaro Limited
405diff --git a/scripts/ta_bin_to_c.py b/scripts/ta_bin_to_c.py
406index cabddbbd..f325fda0 100755
407--- a/scripts/ta_bin_to_c.py
408+++ b/scripts/ta_bin_to_c.py
409@@ -1,4 +1,4 @@
410-#!/usr/bin/env python
411+#!/usr/bin/env python3
412 # SPDX-License-Identifier: BSD-2-Clause
413 #
414 # Copyright (c) 2017, Linaro Limited
415diff --git a/scripts/tee_bin_parser.py b/scripts/tee_bin_parser.py
416index 5f7dd3f0..07da5791 100755
417--- a/scripts/tee_bin_parser.py
418+++ b/scripts/tee_bin_parser.py
419@@ -1,4 +1,4 @@
420-#!/usr/bin/env python
421+#!/usr/bin/env python3
422 # SPDX-License-Identifier: BSD-2-Clause
423 #
424 # Copyright (c) 2016, Linaro Limited
425--
4262.17.1
427