aaa4c729832834f002920d914935bbf653f4d1ab
[bootloader-ap.git] / include / boot / linkage.h
1 /*
2   Useful macros for assembler and compiler
3   Copyright (c) 2010 TJ <linux@tjworld.net>
4
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program (See the COPYRIGHT file the base directory).
17     If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef __LINKAGE_H
21 #define __LINKAGE_H
22
23 // On ARM alignment is the number of least-significant bits that must be 0
24 // and the default infill bytes will be NOP instructions
25 #ifndef ALIGN
26 #define ALIGN           .align 4
27 #endif
28
29 #ifndef ENTRY
30 #define ENTRY(name) \
31   .globl name; \
32   name:
33 #endif
34
35 #endif