blob: a458144140a53c620567f63e1fc4ec06c7ade9f2 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001<?xml version="1.0"?>
2<!--
3#-------------------------------------------------------------------------------
Gergely Korcsáka1fa54e2024-02-12 22:07:39 +01004# Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01005#
6# SPDX-License-Identifier: BSD-3-Clause
7#
8#-------------------------------------------------------------------------------
9-->
10<def format="2">
Antonio de Angelisb1c5fa22021-12-02 16:05:29 +000011 <!-- Modules that might be using mbedtls based allocator functions -->
12 <resource>
13 <alloc>mbedtls_calloc</alloc>
14 <dealloc>mbedtls_free</dealloc>
15 </resource>
16 <!-- Missing platform defines on which some header preprocessing relies -->
17 <define name="CHAR_BIT" value="8"/>
18 <!-- This would be defined by the GNUARM toolchain -->
19 <define name="__GNUC__" value="1"/>
20 <!-- This would be defined by the GNUARM toolchain -->
21 <define name="__ARM_ARCH_8M_MAIN__" value="1"/>
Gergely Korcsáka1fa54e2024-02-12 22:07:39 +010022 <!-- This would be defined by the GNUARM toolchain -->
23 <define name="__ARM_ARCH_PROFILE" value="'M'"/>
Antonio de Angelisb1c5fa22021-12-02 16:05:29 +000024 <!-- tfm_core_panic() and psa_panic() interrupt the flow unconditionally -->
25 <function name="tfm_core_panic"> <noreturn>true</noreturn> </function>
26 <function name="psa_panic"> <noreturn>true</noreturn> </function>
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010027 <!-- Minimum-width integer types -->
28 <podtype name="int_least8_t" sign="s" size="1"/>
29 <podtype name="uint_least8_t" sign="u" size="1"/>
30 <podtype name="int_least16_t" sign="s" size="2"/>
31 <podtype name="uint_least16_t" sign="u" size="2"/>
32 <podtype name="int_least32_t" sign="s" size="4"/>
33 <podtype name="uint_least32_t" sign="u" size="4"/>
34 <podtype name="int_least64_t" sign="s" size="8"/>
35 <podtype name="uint_least64_t" sign="u" size="8"/>
36 <!-- Greatest-width integer types -->
37 <podtype name="intmax_t" sign="s" size="8"/>
38 <podtype name="uintmax_t" sign="u" size="8"/>
39 <!-- inttypes.h -->
40 <podtype name="intptr_t" sign="s" size="4"/>
41 <podtype name="uintptr_t" sign="u" size="4"/>
42 <define name="INT8_MAX" value="0x7f"/>
43 <define name="INT8_MIN" value="(-INT8_MAX - 1)"/>
44 <define name="UINT8_MAX" value="(__CONCAT(INT8_MAX, U) * 2U + 1U)"/>
45 <define name="INT16_MAX" value="0x7fff"/>
46 <define name="INT16_MIN" value="(-INT16_MAX - 1)"/>
47 <define name="UINT16_MAX" value="(__CONCAT(INT16_MAX, U) * 2U + 1U)"/>
48 <define name="INT32_MAX" value="0x7fffffffL"/>
49 <define name="INT32_MIN" value="(-INT32_MAX - 1L)"/>
50 <define name="UINT32_MAX" value="(__CONCAT(INT32_MAX, U) * 2UL + 1UL)"/>
51 <define name="INT64_MAX" value="0x7fffffffffffffffLL"/>
52 <define name="INT64_MIN" value="(-INT64_MAX - 1LL)"/>
53 <define name="UINT64_MAX" value="(__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)"/>
54 <!-- Limits of minimum-width integer types -->
55 <define name="INT_LEAST8_MAX" value="INT8_MAX"/>
56 <define name="INT_LEAST8_MIN" value="INT8_MIN"/>
57 <define name="UINT_LEAST8_MAX" value="UINT8_MAX"/>
58 <define name="INT_LEAST16_MAX" value="INT16_MAX"/>
59 <define name="INT_LEAST16_MIN" value="INT16_MIN"/>
60 <define name="UINT_LEAST16_MAX" value="UINT16_MAX"/>
61 <define name="INT_LEAST32_MAX" value="INT32_MAX"/>
62 <define name="INT_LEAST32_MIN" value="INT32_MIN"/>
63 <define name="UINT_LEAST32_MAX" value="UINT32_MAX"/>
64 <define name="INT_LEAST64_MAX" value="INT64_MAX"/>
65 <define name="INT_LEAST64_MIN" value="INT64_MIN"/>
66 <define name="UINT_LEAST64_MAX" value="UINT64_MAX"/>
67 <!-- Limits of fastest minimum-width integer types -->
68 <define name="INT_FAST8_MAX" value="INT8_MAX"/>
69 <define name="INT_FAST8_MIN" value="INT8_MIN"/>
70 <define name="UINT_FAST8_MAX" value="UINT8_MAX"/>
71 <define name="INT_FAST16_MAX" value="INT16_MAX"/>
72 <define name="INT_FAST16_MIN" value="INT16_MIN"/>
73 <define name="UINT_FAST16_MAX" value="UINT16_MAX"/>
74 <define name="INT_FAST32_MAX" value="INT32_MAX"/>
75 <define name="INT_FAST32_MIN" value="INT32_MIN"/>
76 <define name="UINT_FAST32_MAX" value="UINT32_MAX"/>
77 <define name="INT_FAST64_MAX" value="INT64_MAX"/>
78 <define name="INT_FAST64_MIN" value="INT64_MIN"/>
79 <define name="UINT_FAST64_MAX" value="UINT64_MAX"/>
80 <!-- Limits of integer types capable of holding object pointers -->
81 <define name="INTPTR_MAX" value="INT32_MAX"/>
82 <define name="INTPTR_MIN" value="INT32_MIN"/>
83 <define name="UINTPTR_MAX" value="UINT32_MAX"/>
84 <!-- Limits of greatest-width integer types -->
85 <define name="INTMAX_MAX" value="INT64_MAX"/>
86 <define name="INTMAX_MIN" value="INT64_MIN"/>
87 <define name="UINTMAX_MAX" value="UINT64_MAX"/>
88 <!-- Limits of other integer types -->
89 <define name="PTRDIFF_MAX" value="INT32_MAX"/>
90 <define name="PTRDIFF_MIN" value="INT32_MIN"/>
91 <define name="SIG_ATOMIC_MAX" value="INT8_MAX"/>
92 <define name="SIG_ATOMIC_MIN" value="INT8_MIN"/>
93 <define name="SIZE_MAX" value="(__CONCAT(INT16_MAX, U))"/>
94 <!-- Macros for integer constants -->
95 <define name="INT8_C(value)" value="((int8_t) value)"/>
96 <define name="UINT8_C(value)" value="((uint8_t) __CONCAT(value, U))"/>
97 <define name="INT16_C(value)" value="value"/>
98 <define name="UINT16_C(value)" value="__CONCAT(value, U)"/>
99 <define name="INT32_C(value)" value="__CONCAT(value, L)"/>
100 <define name="UINT32_C(value)" value="__CONCAT(value, UL)"/>
101 <define name="INT64_C(value)" value="__CONCAT(value, LL)"/>
102 <define name="UINT64_C(value)" value="__CONCAT(value, ULL)"/>
103 <define name="INTMAX_C(value)" value="__CONCAT(value, LL)"/>
104 <define name="UINTMAX_C(value)" value="__CONCAT(value, ULL)"/>
105</def>