X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Ftime.c;h=cdf23705909f5d1d7d1c89dc1eeb759c8a33f6eb;hb=5beb98670f040b2d4e697e4d8690cd46d2d30cf3;hp=79ea4d08cccda9895f3cc5aaeec0f399601dbf56;hpb=6749674b892a0865abc22f9a6ec9a624ff40a283;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/time.c b/Kernel/arch/x86/time.c index 79ea4d08..cdf23705 100644 --- a/Kernel/arch/x86/time.c +++ b/Kernel/arch/x86/time.c @@ -3,13 +3,14 @@ * Timekeeping * arch/x86/time.c */ -#include +#include // === MACROS === #define NUM_TIMERS 8 #define TIMER_QUANTUM 100 -#define TIMER_RATE 13 // (Max: 15, Min: 2) - 15 = 1Hz, 13 = 4Hz, 10 = 1024Hz -#define TIMER_FREQ (32768>>TIMER_RATE) //Hz +// 2^(15-rate), 15: 1HZ, 5: 1024Hz, 2: 8192Hz +#define TIMER_RATE 12 // (Max: 15, Min: 2) - 15 = 1Hz, 13 = 4Hz, 12 = 8Hz, 11 = 16Hz 10 = 32Hz, 2 +#define TIMER_FREQ (0x8000>>TIMER_RATE) //Hz #define MS_PER_TICK_WHOLE (1000/(TIMER_FREQ)) #define MS_PER_TICK_FRACT ((Uint64)(1000*TIMER_FREQ-((Uint64)MS_PER_TICK_WHOLE)*0x80000000/TIMER_FREQ)) @@ -87,10 +88,10 @@ void Time_Interrupt() inb(0x71); // Just throw away contents. } +#if 0 /** * \fn void Time_TimerThread() */ -#if 0 void Time_TimerThread() { Sint64 next; @@ -177,3 +178,9 @@ void Time_Delay(int Delay) Sint64 dest = giTimestamp + Delay; while(dest < giTimestamp) Threads_Yield(); } + +// === EXPORTS === +EXPORT(now); +EXPORT(Time_CreateTimer); +EXPORT(Time_RemoveTimer); +EXPORT(Time_Delay);