URL
https://opencores.org/ocsvn/or1k/or1k/trunk
[/] [or1k/] [trunk/] [or1ksim/] [support/] [sched.h] - Diff between revs 1308 and 1319
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 1308 |
Rev 1319 |
Line 22... |
Line 22... |
|
|
/* Scheduler debug level */
|
/* Scheduler debug level */
|
#define SCHED_DEBUG 0
|
#define SCHED_DEBUG 0
|
|
|
#define SCHED_HEAP_SIZE 128
|
#define SCHED_HEAP_SIZE 128
|
|
#define SCHED_TIME_MAX 0x7fffffffffffffffLL
|
|
|
|
|
/* Structure for holding one job entry */
|
/* Structure for holding one job entry */
|
struct sched_entry {
|
struct sched_entry {
|
long time; /* Clock cycles before job starts */
|
long long time; /* Clock cycles before job starts */
|
int param; /* Parameter to pass to the function */
|
int param; /* Parameter to pass to the function */
|
void (*func)(int); /* Function to call when time reaches 0 */
|
void (*func)(int); /* Function to call when time reaches 0 */
|
};
|
};
|
|
|
/* Heap of jobs */
|
/* Heap of jobs */
|
Line 45... |
Line 47... |
extern void sched_guard (int i);
|
extern void sched_guard (int i);
|
|
|
/* Init scheduler -- clear the heap */
|
/* Init scheduler -- clear the heap */
|
#define SCHED_INIT() {\
|
#define SCHED_INIT() {\
|
scheduler.heap[1].func = sched_guard;\
|
scheduler.heap[1].func = sched_guard;\
|
scheduler.heap[1].time = INT_MAX;\
|
scheduler.heap[1].time = SCHED_TIME_MAX;\
|
scheduler.size = 2;\
|
scheduler.size = 2;\
|
}
|
}
|
|
|
#if SCHED_DEBUG > 1
|
#if SCHED_DEBUG > 1
|
#define SCHED_PRINT_JOBS() {\
|
#define SCHED_PRINT_JOBS() {\
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.