Mercurial > flash_v2
diff packages/hal/arm/arch/current/include/hal_arch.h @ 115:6ed91473a1cd ecos-sw-2000-08-21
Merge from eCos master repository on 2000-08-21-22:40:54-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 17:32:38 +0000 |
| parents | c37d3a9e1b28 |
| children | 0ae0bc38e387 |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/include/hal_arch.h +++ b/packages/hal/arm/arch/current/include/hal_arch.h @@ -279,6 +279,35 @@ externC void hal_idle_thread_action(cyg_ #define HAL_IDLE_THREAD_ACTION(_count_) hal_idle_thread_action(_count_) //--------------------------------------------------------------------------- +// Table definition macros. +// The ARM assembler has a slightly different syntax for some of this, so +// we have to define alternatives here. +// Note that the __string() and __xstring() macros used here are defined in +// hal_tables.h. + +#ifndef CYG_HAL_TABLE_BEGIN +#define CYG_HAL_TABLE_BEGIN( _label, _name ) \ +__asm__(".section \"" __string(.ecos.table.##_name##.begin) "\",\"aw\"\n" \ + ".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n" \ + ".type " __xstring(CYG_LABEL_DEFN(_label)) ",object\n" \ + ".p2align 2\n" \ +__xstring(CYG_LABEL_DEFN(_label)) ":\n" \ + ".previous\n" \ + ) +#endif + +#ifndef CYG_HAL_TABLE_END +#define CYG_HAL_TABLE_END( _label, _name ) \ +__asm__(".section \"" __string(.ecos.table.##_name##.finish) "\",\"aw\"\n" \ + ".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n" \ + ".type " __xstring(CYG_LABEL_DEFN(_label)) ",object\n" \ + ".p2align 2\n" \ +__xstring(CYG_LABEL_DEFN(_label)) ":\n" \ + ".previous\n" \ + ) +#endif + +//--------------------------------------------------------------------------- // Minimal and sensible stack sizes: the intention is that applications // will use these to provide a stack size in the first instance prior to
