aboutsummaryrefslogtreecommitdiff
path: root/kernel/stack.h
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-03-15 19:06:31 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-03-15 19:06:31 +0000
commitbe7b4e32fe3824d53263e97c78d366ec261499d7 (patch)
tree52331419f487a1a7604fe24a454c5410504191e4 /kernel/stack.h
parentb87e904f961460b97ab90665a1cfa2cd712f0ef3 (diff)
expicit set clock prescale to 1
simplify scheduler and sleep functions
Diffstat (limited to 'kernel/stack.h')
-rw-r--r--kernel/stack.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/stack.h b/kernel/stack.h
index b53c870..d553076 100644
--- a/kernel/stack.h
+++ b/kernel/stack.h
@@ -18,8 +18,12 @@
#ifndef __STACK_H
#define __STACK_H
+#define NAKED(name, ...) \
+void name (void) __attribute__ ((naked)) __VA_ARGS__; \
+void name (void)
+
/* 68 cycles */
-#define PUSH_ALL() asm volatile ( \
+#define pusha() asm volatile ( \
"push r1 \n" \
"push r0 \n" \
"in r0, __SREG__ \n" \
@@ -57,7 +61,7 @@
"push r31 \n" )
/* 69 cycles */
-#define POP_ALL() asm volatile ( \
+#define popa() asm volatile ( \
"pop r31 \n" \
"pop r30 \n" \
"pop r29 \n" \
@@ -93,4 +97,5 @@
"pop r0 \n" \
"pop r1 \n" )
+#define ret() asm volatile ("ret");
#endif