Difference between pages "r7.1.1:Macro LFDS711 LIST ASU SET VALUE IN ELEMENT" and "r7.1.1:Macro LFDS711 PAL ALIGN"
(Difference between pages)
Jump to navigation
Jump to search
m (1 revision imported) |
m (1 revision imported) |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:define LFDS711_PAL_ALIGN}} | ||
==Source File== | ==Source File== | ||
└───liblfds711 | └───liblfds711 | ||
└───inc | └───inc | ||
└───liblfds711 | └───liblfds711 | ||
lfds711_porting_abstraction_layer_compiler.h | |||
==Macro== | ==Macro== | ||
#define | #define LFDS711_PAL_ALIGN( alignment ) [compiler alignment directive] | ||
==Parameters== | ==Parameters== | ||
'' | ''alignment'' | ||
: | : Alignment in bytes. | ||
==Return Value== | ==Return Value== | ||
No return value. | No return value. | ||
==Example== | |||
#define LFDS711_PAL_ALIGN(alignment) __attribute__( (aligned(alignment)) ) | |||
==Optionality== | |||
This define is mandatory and the library cannot compile if it is not set. | |||
==Notes== | ==Notes== | ||
Atomic instructions require the variables they operate upon to meet certain memory alignment requirements. | |||
This issue comes into play when making stack allocation, or positioning elements in structures for caching-line or exclusive reservation granule alignement and padding. | |||
This macro is the mechanism by which the compiler specific keyword for alignment is provided to liblfds. | |||
==See Also== | ==See Also== | ||
* [[r7.1.1: | * [[r7.1.1:Porting Guide (liblfds)|Porting Guide (liblfds)]] |
Latest revision as of 18:12, 16 February 2017
Source File
└───liblfds711 └───inc └───liblfds711 lfds711_porting_abstraction_layer_compiler.h
Macro
#define LFDS711_PAL_ALIGN( alignment ) [compiler alignment directive]
Parameters
alignment
- Alignment in bytes.
Return Value
No return value.
Example
#define LFDS711_PAL_ALIGN(alignment) __attribute__( (aligned(alignment)) )
Optionality
This define is mandatory and the library cannot compile if it is not set.
Notes
Atomic instructions require the variables they operate upon to meet certain memory alignment requirements.
This issue comes into play when making stack allocation, or positioning elements in structures for caching-line or exclusive reservation granule alignement and padding.
This macro is the mechanism by which the compiler specific keyword for alignment is provided to liblfds.