#ifndef CPU_POWER_H
#define CPU_POWER_H
-#include <cfg/cfg_kern.h>
-#include <cfg/cfg_wdt.h>
+#include "cfg/cfg_proc.h"
+#include "cfg/cfg_wdt.h"
-#if CONFIG_KERNEL
+#include <cfg/compiler.h>
+
+#if CONFIG_KERN
#include <kern/proc.h>
#endif
*/
INLINE void cpu_relax(void)
{
-#if CONFIG_KERNEL
- proc_yield();
+ MEMORY_BARRIER;
+#if CONFIG_KERN
+ if (proc_preemptAllowed())
+ proc_yield();
#endif
#if CONFIG_WATCHDOG