mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-29 03:23:42 +08:00
2009-10-29 Till Straumann <strauman@slac.stanford.edu>
* rtems/score/cpu.h: Define _CPU_Interrupt_stack_setup() macro which reserves space for the 'vector' arg to _C_dispatch_isr() routine and aligns the irq stack to CPU_STACK_ALIGNMENT.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2009-10-29 Till Straumann <strauman@slac.stanford.edu>
|
||||
|
||||
* rtems/score/cpu.h: Define _CPU_Interrupt_stack_setup() macro
|
||||
which reserves space for the 'vector' arg to _C_dispatch_isr()
|
||||
routine and aligns the irq stack to CPU_STACK_ALIGNMENT.
|
||||
|
||||
2009-10-28 Till Straumann <strauman@slac.stanford.edu>
|
||||
|
||||
* rtems/score/cpu.h: Replaced misleading typedef of
|
||||
|
||||
@@ -287,6 +287,16 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||
|
||||
uint32_t _CPU_ISR_Get_level( void );
|
||||
|
||||
/* Make sure interrupt stack has space for ISR
|
||||
* 'vector' arg at the top and that it is aligned
|
||||
* properly.
|
||||
*/
|
||||
|
||||
#define _CPU_Interrupt_stack_setup( _lo, _hi ) \
|
||||
do { \
|
||||
_hi = (void*)(((uintptr_t)(_hi) - 4) & ~ (CPU_STACK_ALIGNMENT - 1)); \
|
||||
} while (0)
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
/* end of ISR handler macros */
|
||||
|
||||
Reference in New Issue
Block a user