From: Wei Liu Date: Thu, 18 Aug 2016 10:15:24 +0000 (+0100) Subject: Introduce asm_macros.h X-Git-Tag: xen-4.8.0-rc1~47 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0a4991da06d1bef88ef7ddb365e328f21fe4293f;p=mini-os.git Introduce asm_macros.h Ported from Xen Test Framework project (BSD license). Signed-off-by: Wei Liu Reviewed-by: Andrew Cooper Reviewed-by: Juergen Gross Acked-by: Samuel Thibault --- diff --git a/include/arm/asm_macros.h b/include/arm/asm_macros.h new file mode 100644 index 0000000..8b8dafe --- /dev/null +++ b/include/arm/asm_macros.h @@ -0,0 +1,14 @@ +#ifndef _ARM_ASM_MACRO_H_ +#define _ARM_ASM_MACRO_H_ + +#endif /* _ARM_ASM_MACRO_H_ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/include/asm_macros.h b/include/asm_macros.h new file mode 100644 index 0000000..0e34090 --- /dev/null +++ b/include/asm_macros.h @@ -0,0 +1,40 @@ +/* + * Macros for assembly files. + */ + +#ifndef _ASM_MACRO_H_ +#define _ASM_MACRO_H_ + +#if defined(__i386__) || defined(__x86_64__) +#include +#elif defined(__arm__) || defined(__aarch64__) +#include +#endif + +#ifdef __ASSEMBLY__ + +#define ELFNOTE(name, type, desc) \ + .pushsection .note.name ; \ + .align 4 ; \ + .long 2f - 1f /* namesz */ ; \ + .long 4f - 3f /* descsz */ ; \ + .long type /* type */ ; \ +1:.asciz #name /* name */ ; \ +2:.align 4 ; \ +3:desc /* desc */ ; \ +4:.align 4 ; \ + .popsection + +#endif /* __ASSEMBLY__ */ + +#endif /* _ASM_MACRO_H_ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/include/x86/asm_macros.h b/include/x86/asm_macros.h new file mode 100644 index 0000000..e718e0b --- /dev/null +++ b/include/x86/asm_macros.h @@ -0,0 +1,28 @@ +#ifndef _X86_ASM_MACRO_H_ +#define _X86_ASM_MACRO_H_ + +#ifdef __ASSEMBLY__ +# if defined(__x86_64__) +# define _WORD .quad +# elif defined(__i386__) +# define _WORD .long +# endif +#else +# if defined(__x86_64__) +# define _WORD ".quad" +# elif defined(__i386__) +# define _WORD ".long" +# endif +#endif + +#endif /* _X86_ASM_MACRO_H_ */ + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */