blob: 73dac8eedb4dd8c7d78dbc7999b3a5d27d08cb92 [file] [log] [blame]
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +02001#!/usr/bin/env python3
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)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020012 print("Magic: \t\t0x{:08x}".format(magic))
Joakim Bech09871a72016-07-29 21:24:49 +020013
14 data = f.read(1)
15 version = struct.unpack('<B', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020016 print("Version: \t0x{:02x}".format(version))
Joakim Bech09871a72016-07-29 21:24:49 +020017
18 data = f.read(1)
19 arch_id = struct.unpack('<B', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020020 print("ArchID: \t0x{:02x}".format(arch_id))
Joakim Bech09871a72016-07-29 21:24:49 +020021
22 data = f.read(2)
23 flags = struct.unpack('<H', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020024 print("Arch Flags: \t0x{:04x}".format(arch_id))
Joakim Bech09871a72016-07-29 21:24:49 +020025
26 data = f.read(4)
27 init_size = struct.unpack('<I', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020028 print("Init size: \t0x{:04x}".format(init_size))
Joakim Bech09871a72016-07-29 21:24:49 +020029
30 data = f.read(4)
31 laddr_h = struct.unpack('<I', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020032 print("Load addr high:\t0x{:04x}".format(laddr_h))
Joakim Bech09871a72016-07-29 21:24:49 +020033
34 data = f.read(4)
35 laddr_l = struct.unpack('<I', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020036 print("Load addr low: \t0x{:04x}".format(laddr_l))
Joakim Bech09871a72016-07-29 21:24:49 +020037
38 data = f.read(4)
39 mem_usage = struct.unpack('<I', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020040 print("Mem usage: \t0x{:04x}".format(mem_usage))
Joakim Bech09871a72016-07-29 21:24:49 +020041
42 data = f.read(4)
43 pgd_size = struct.unpack('<I', data)
Rouven Czerwinskibbaeed42019-08-07 20:07:00 +020044 print("Pages size: \t0x{:04x}".format(pgd_size))
Joakim Bech09871a72016-07-29 21:24:49 +020045
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()