46
46
#ifndef __STATIC_INLINE
47
47
#define __STATIC_INLINE static inline
48
48
#endif
49
- #ifndef __STATIC_FORCEINLINE
49
+ #ifndef __STATIC_FORCEINLINE
50
50
#define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51
- #endif
51
+ #endif
52
52
#ifndef __NO_RETURN
53
53
#define __NO_RETURN __attribute__((__noreturn__))
54
54
#endif
126
126
\details This default implementations initialized all data and additional bss
127
127
sections relying on .copy.table and .zero.table specified properly
128
128
in the used linker script.
129
-
129
+
130
130
*/
131
131
__STATIC_FORCEINLINE __NO_RETURN void __cmsis_start (void )
132
132
{
133
133
extern void _start (void ) __NO_RETURN ;
134
-
134
+
135
135
typedef struct {
136
136
uint32_t const * src ;
137
137
uint32_t * dest ;
138
138
uint32_t wlen ;
139
139
} __copy_table_t ;
140
-
140
+
141
141
typedef struct {
142
142
uint32_t * dest ;
143
143
uint32_t wlen ;
144
144
} __zero_table_t ;
145
-
145
+
146
146
extern const __copy_table_t __copy_table_start__ ;
147
147
extern const __copy_table_t __copy_table_end__ ;
148
148
extern const __zero_table_t __zero_table_start__ ;
@@ -153,16 +153,16 @@ __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
153
153
pTable -> dest [i ] = pTable -> src [i ];
154
154
}
155
155
}
156
-
156
+
157
157
for (__zero_table_t const * pTable = & __zero_table_start__ ; pTable < & __zero_table_end__ ; ++ pTable ) {
158
158
for (uint32_t i = 0u ; i < pTable -> wlen ; ++ i ) {
159
159
pTable -> dest [i ] = 0u ;
160
160
}
161
161
}
162
-
162
+
163
163
_start ();
164
164
}
165
-
165
+
166
166
#define __PROGRAM_START __cmsis_start
167
167
#endif
168
168
@@ -652,7 +652,7 @@ __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
652
652
Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
653
653
Stack Pointer Limit register hence zero is returned always in non-secure
654
654
mode.
655
-
655
+
656
656
\details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
657
657
\return PSPLIM Register value
658
658
*/
@@ -697,7 +697,7 @@ __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
697
697
Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
698
698
Stack Pointer Limit register hence the write is silently ignored in non-secure
699
699
mode.
700
-
700
+
701
701
\details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
702
702
\param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
703
703
*/
@@ -834,7 +834,7 @@ __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
834
834
{
835
835
#if ((defined (__FPU_PRESENT ) && (__FPU_PRESENT == 1U )) && \
836
836
(defined (__FPU_USED ) && (__FPU_USED == 1U )) )
837
- #if __has_builtin (__builtin_arm_get_fpscr )
837
+ #if __has_builtin (__builtin_arm_get_fpscr )
838
838
// Re-enable using built-in when GCC has been fixed
839
839
// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
840
840
/* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
0 commit comments