aboutsummaryrefslogtreecommitdiffstats
path: root/src/gos/gos_raw32.c
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2015-07-08 13:53:54 +1000
committerinmarket <andrewh@inmarket.com.au>2015-07-08 13:53:54 +1000
commit8318e8dc29c571f56742df6ea81d2f8298127826 (patch)
tree406c586915bf4b9edc532a3fbeb70f45c64e618a /src/gos/gos_raw32.c
parent9d62e631cf143d4ed50d66fc157a24370cd5489a (diff)
downloaduGFX-8318e8dc29c571f56742df6ea81d2f8298127826.tar.gz
uGFX-8318e8dc29c571f56742df6ea81d2f8298127826.tar.bz2
uGFX-8318e8dc29c571f56742df6ea81d2f8298127826.zip
Provide better access to compiler optimisations for the raw scheduler
Diffstat (limited to 'src/gos/gos_raw32.c')
-rw-r--r--src/gos/gos_raw32.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gos/gos_raw32.c b/src/gos/gos_raw32.c
index 71d8be08..f1ff6c45 100644
--- a/src/gos/gos_raw32.c
+++ b/src/gos/gos_raw32.c
@@ -438,17 +438,18 @@ void gfxSleepMicroseconds(delaytime_t ms) {
* work out the correct macro values.
* You can use the debugger to work out the values for your compiler and put them here.
* Defining these macros as constant values makes the system behavior guaranteed but also
- * makes your code compiler and cpu architecture dependent.
+ * makes your code compiler and cpu architecture dependent. It also saves a heap of code
+ * and a few bytes of RAM.
*/
-#if 0
- // Define your compiler constant values here.
- // These example values are for mingw32 compiler (x86).
+#if GFX_COMPILER == GFX_COMPILER_MINGW32
#define AUTO_DETECT_MASK FALSE
#define STACK_DIR_UP FALSE
#define MASK1 0x00000011
#define MASK2 0x00000000
#define STACK_BASE 12
#else
+ // Use auto-detection of the stack frame format
+ // Assumes all the relevant stuff to be relocated is in the first 256 bytes of the jmpbuf.
#define AUTO_DETECT_MASK TRUE
#define STACK_DIR_UP stackdirup // TRUE if the stack grow up instead of down
#define MASK1 jmpmask1 // The 1st mask of jmp_buf elements that need relocation