From 62f4b7f471a4b1037468d382f927c5061e5fa9ed Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 24 Jun 2010 14:19:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2036 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/ARMCMx/chcore_v7m.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'os/ports') diff --git a/os/ports/GCC/ARMCMx/chcore_v7m.c b/os/ports/GCC/ARMCMx/chcore_v7m.c index 74b9ff43b..f546a11fa 100644 --- a/os/ports/GCC/ARMCMx/chcore_v7m.c +++ b/os/ports/GCC/ARMCMx/chcore_v7m.c @@ -27,6 +27,7 @@ #include "ch.h" +#if !defined(CH_CURRP_REGISTER_CACHE) || defined(__DOXXYGEN__) /** * @brief Internal context stacking. */ @@ -40,6 +41,15 @@ #define POP_CONTEXT() { \ asm volatile ("pop {r4, r5, r6, r7, r8, r9, r10, r11, pc}"); \ } +#else /* defined(CH_CURRP_REGISTER_CACHE) */ +#define PUSH_CONTEXT() { \ + asm volatile ("push {r4, r5, r6, r8, r9, r10, r11, lr}"); \ +} + +#define POP_CONTEXT() { \ + asm volatile ("pop {r4, r5, r6, r8, r9, r10, r11, pc}"); \ +} +#endif /* defined(CH_CURRP_REGISTER_CACHE) */ #if !CH_OPTIMIZE_SPEED void _port_lock(void) { -- cgit v1.2.3