33,8 → 33,10 |
#include <ll/i386/pit.h> |
#include <ll/i386/apic.h> |
#include <ll/i386/advtimer.h> |
#include <ll/i386/error.h> |
|
#include <ll/sys/ll/ll-data.h> |
#include <ll/sys/ll/ll-func.h> |
#include <ll/sys/ll/time.h> |
#include <ll/sys/ll/event.h> |
|
56,10 → 58,10 |
extern void (*evt_epil) (void); |
|
extern unsigned char use_tsc; |
extern unsigned int use_apic; |
extern unsigned int apic_clk_per_msec; |
extern unsigned char use_apic; |
extern unsigned long long apic_clk_per_msec; |
|
/* TODO: oneshot_event_delete & oneshot_event_init... */ |
#define barrier() __asm__ __volatile__("" ::: "memory"); |
|
/* Switched to timespec */ |
int oneshot_event_post(struct timespec time, void (*handler) (void *p), |
72,6 → 74,8 |
DWORD tnext; |
|
if (!freeevents) { |
message("NO FREE EVENTS !\n"); |
ll_abort(20); |
return -1; |
} |
/* Extract from the ``free events'' queue */ |
172,6 → 176,8 |
activeInt--; |
} |
|
barrier(); |
|
if (!use_tsc) { |
|
tmp = pit_read(frc); |
209,6 → 215,7 |
set_APIC_timer(0xFFFFFFFF); |
} |
} |
|
} |
|
int oneshot_event_delete(int index) |