mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 13:36:05 +00:00

This patch introduces a build flag "RECLAIM_INIT_CODE" to mark boot time code which allows platforms to place this memory in an appropriate section to be reclaimed later. This features is primarily targeted for BL31. Appropriate documentation updates are also done. Change-Id: If0ca062851614805d769c332c771083d46599194 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
37 lines
1,012 B
C
37 lines
1,012 B
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef CDEFS_H
|
|
#define CDEFS_H
|
|
|
|
#define __dead2 __attribute__((__noreturn__))
|
|
#define __deprecated __attribute__((__deprecated__))
|
|
#define __packed __attribute__((__packed__))
|
|
#define __used __attribute__((__used__))
|
|
#define __unused __attribute__((__unused__))
|
|
#define __aligned(x) __attribute__((__aligned__(x)))
|
|
#define __section(x) __attribute__((__section__(x)))
|
|
#if RECLAIM_INIT_CODE
|
|
/*
|
|
* Add each function to a section that is unique so the functions can still
|
|
* be garbage collected
|
|
*/
|
|
#define __init __section(".text.init." __FILE__ "." __XSTRING(__LINE__))
|
|
#else
|
|
#define __init
|
|
#endif
|
|
|
|
#define __printflike(fmtarg, firstvararg) \
|
|
__attribute__((__format__ (__printf__, fmtarg, firstvararg)))
|
|
|
|
#define __weak_reference(sym, alias) \
|
|
__asm__(".weak alias"); \
|
|
__asm__(".equ alias, sym")
|
|
|
|
#define __STRING(x) #x
|
|
#define __XSTRING(x) __STRING(x)
|
|
|
|
#endif /* CDEFS_H */
|