xref: /DragonOS/kernel/src/common/asm.h (revision 4fda81ce81939d83b74c8042d6fb4223deff3685)
1*2813126eSlogin #pragma once
2*2813126eSlogin 
3*2813126eSlogin #ifndef __ASM__
4*2813126eSlogin #define __ASM__
5*2813126eSlogin 
6*2813126eSlogin // 符号名
7*2813126eSlogin #define SYMBOL_NAME(X)	X
8*2813126eSlogin // 符号名字符串
9*2813126eSlogin #define SYMBOL_NAME_STR(X)	#X
10*2813126eSlogin // 符号名label
11*2813126eSlogin #define SYMBOL_NAME_LABEL(X) X##:
12*2813126eSlogin 
13*2813126eSlogin #define L1_CACHE_BYTES 32
14*2813126eSlogin 
15*2813126eSlogin #define asmlinkage __attribute__((regparm(0)))
16*2813126eSlogin 
17*2813126eSlogin #define ____cacheline_aligned __attribute__((__aligned__(L1_CACHE_BYTES)))
18*2813126eSlogin 
19*2813126eSlogin #define ENTRY(name)		\
20*2813126eSlogin .global	SYMBOL_NAME(name);	\
21*2813126eSlogin SYMBOL_NAME_LABEL(name)
22*2813126eSlogin 
23*2813126eSlogin #endif