blob: 8356ad5dc55e377eea2bef215169b0bdc1c26f8f [file] [log] [blame]
Joakim Bech09871a72016-07-29 21:24:49 +02001#!/usr/bin/env python
Jerome Forissier1bb92982017-12-15 14:27:02 +01002# SPDX-License-Identifier: BSD-2-Clause
Joakim Bech09871a72016-07-29 21:24:49 +02003#
4# Copyright (c) 2016, Linaro Limited
Joakim Bech09871a72016-07-29 21:24:49 +02005import struct
6
Jerome Forissiere06fa022018-11-14 11:02:49 +01007
Joakim Bech09871a72016-07-29 21:24:49 +02008def main():
Jerome Forissiere06fa022018-11-14 11:02:49 +01009 with open("../out/arm/core/tee.bin", "rb") as f:
Joakim Bech09871a72016-07-29 21:24:49 +020010 data = f.read(4)
11 magic = struct.unpack('<I', data)
12 print("Magic: \t\t0x%08x" % magic)
13
14 data = f.read(1)
15 version = struct.unpack('<B', data)
16 print("Version: \t0x%02x" % version)
17
18 data = f.read(1)
19 arch_id = struct.unpack('<B', data)
20 print("ArchID: \t0x%02x" % arch_id)
21
22 data = f.read(2)
23 flags = struct.unpack('<H', data)
24 print("Arch Flags: \t0x%04x" % arch_id)
25
26 data = f.read(4)
27 init_size = struct.unpack('<I', data)
28 print("Init size: \t0x%04x" % init_size)
29
30 data = f.read(4)
31 laddr_h = struct.unpack('<I', data)
32 print("Load addr high:\t0x%04x" % laddr_h)
33
34 data = f.read(4)
35 laddr_l = struct.unpack('<I', data)
36 print("Load addr low: \t0x%04x" % laddr_l)
37
38 data = f.read(4)
39 mem_usage = struct.unpack('<I', data)
40 print("Mem usage: \t0x%04x" % mem_usage)
41
42 data = f.read(4)
43 pgd_size = struct.unpack('<I', data)
44 print("Pages size: \t0x%04x" % pgd_size)
45
Jerome Forissiere06fa022018-11-14 11:02:49 +010046
Joakim Bech09871a72016-07-29 21:24:49 +020047if __name__ == "__main__":
Jerome Forissiere06fa022018-11-14 11:02:49 +010048 main()