revert between 56095 -> 55830 in arch
[AROS.git] / arch / all-pc / kernel / kernel_scheduler.h
blobee5778bcec5cd7e67f8f638df482ed10c14ea5c3
1 #ifndef KERNEL_SCHEDULER_H
2 #define KERNEL_SCHEDULER_H
3 /*
4 Copyright © 2017, The AROS Development Team. All rights reserved.
5 $Id$
7 Desc:
8 */
10 #include <aros/config.h>
12 #if defined(__AROSEXEC_SMP__)
13 #include <exec/tasks.h>
15 struct X86SchedulerPrivate
17 struct Task *RunningTask; /* Currently running task on this core */
19 ULONG ScheduleFlags;
20 UWORD Granularity; /* length of one heartbear tick */
21 UWORD Quantum; /* # of heartbeat ticks, a task may run */
22 UWORD Elapsed; /* # of heartbeat ticks, the current task has run */
23 BYTE IDNestCnt;
24 BYTE TDNestCnt;
26 #endif
28 BOOL core_Schedule(void); /* Reschedule the current task if needed */
29 void core_Switch(void); /* Switch away from the current task */
30 struct Task *core_Dispatch(void); /* Select the new task for execution */
31 #if defined(__AROSEXEC_SMP__)
32 void core_InitScheduleData(struct X86SchedulerPrivate *);
33 #endif
34 #endif /* !KERNEL_SCHEDULER_H */