2 Copyright � 1995-2015, The AROS Development Team. All rights reserved.
8 #include <proto/exec.h>
9 #include "exec_intern.h"
10 #include "kernel_intern.h"
11 #include "kernel_cpu.h"
12 #include "kernel_syscall.h"
16 void IdleTask(struct ExecBase
*SysBase
)
19 struct Task
*thisTask
= FindTask(NULL
);
21 register int tmp
asm("r0");
22 asm volatile ("swi %[swi_no]" : "=r"(tmp
) : [swi_no
] "I" (SC_GETCPUNUMBER
) : "lr");
28 D(bug("[IDLE:%02d] %s started up\n", cpunum
, thisTask
->tc_Node
.ln_Name
));
30 asm volatile ("swi %[swi_no]" : : [swi_no
] "I" (SC_SUPERSTATE
) : "lr");
31 asm volatile ("swi %[swi_no]" : : [swi_no
] "I" (SC_STI
) : "lr");
36 D(bug("[IDLE:%02d] CPU has idled for %d seconds..\n", cpunum
, GetIntETask(thisTask
)->iet_CpuTime
.tv_sec
));