projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AVR: fix redeclaration of ISR_PROTO() macro.
[bertos.git]
/
bertos
/
cpu
/
attr.h
diff --git
a/bertos/cpu/attr.h
b/bertos/cpu/attr.h
index 98ed7b2fe6b24cc562a83a63129d1386aa8b2f58..832f0618698c724945f7196dfaf97e30cf790404 100644
(file)
--- a/
bertos/cpu/attr.h
+++ b/
bertos/cpu/attr.h
@@
-42,6
+42,7
@@
#include "detect.h"
#include "detect.h"
+#include "cfg/cfg_proc.h" /* CONFIG_KERN_PREEMPT */
#include "cfg/cfg_attr.h" /* CONFIG_FAST_MEM */
#include "cfg/cfg_attr.h" /* CONFIG_FAST_MEM */
@@
-94,6
+95,8
@@
#ifdef __GNUC__
#define NOP asm volatile ("nop")
#ifdef __GNUC__
#define NOP asm volatile ("nop")
+ /* This is a good thing to insert into busy-wait loops. */
+ #define PAUSE asm volatile ("rep; nop" ::: "memory")
#define BREAKPOINT asm volatile ("int3" ::)
#endif
#define BREAKPOINT asm volatile ("int3" ::)
#endif
@@
-153,10
+156,10
@@
#define FAST_FUNC /**/
#endif
#define FAST_FUNC /**/
#endif
- /*
*
- * Function attribute to
declare an interrupt service routine
.
+ /*
+ * Function attribute to
move it into ram memory
.
*/
*/
- #define
ISR_FUNC __attribute__((interrupt
))
+ #define
RAM_FUNC __attribute__((section(".data")
))
#endif /* !__IAR_SYSTEMS_ICC_ */
#endif /* !__IAR_SYSTEMS_ICC_ */
@@
-234,4
+237,9
@@
#define FAST_RODATA /* */
#endif
#define FAST_RODATA /* */
#endif
+#ifndef PAUSE
+ /// Generic PAUSE implementation.
+ #define PAUSE {NOP; MEMORY_BARRIER;}
+#endif
+
#endif /* CPU_ATTR_H */
#endif /* CPU_ATTR_H */