OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_52/] [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() {\

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.