diff options
| author | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
|---|---|---|
| committer | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
| commit | 78ee7d5717807e6ac779293d0d3c78341de6130a (patch) | |
| tree | a43e3b0f61318ac45e6d907c7cc5bad2c6d7f497 /os/js/clock.c | |
| parent | bdaf46cf45bbb59261da245d548a179d95a42768 (diff) | |
Move existing boards into subdits split per arch
Diffstat (limited to 'os/js/clock.c')
| -rw-r--r-- | os/js/clock.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/os/js/clock.c b/os/js/clock.c deleted file mode 100644 index 581ee441..00000000 --- a/os/js/clock.c +++ /dev/null @@ -1,104 +0,0 @@ -#include "u.h" -#include "../port/lib.h" -#include "mem.h" -#include "dat.h" -#include "fns.h" -#include "io.h" - -#include "ureg.h" - -typedef struct Clock0link Clock0link; -typedef struct Clock0link { - void (*clock)(void); - Clock0link* link; -} Clock0link; - -static Clock0link *clock0link; -static Lock clock0lock; - -void -microdelay(int ms) -{ - int i; - - ms *= 13334; /* experimentally indetermined */ - for(i=0; i<ms; i++) - ; -} - -typedef struct Ctr Ctr; -struct Ctr -{ - ulong lim; - ulong ctr; - ulong limnr; /* non-resetting */ - ulong ctl; -}; -Ctr *ctr; - -void -clockinit(void) -{ - KMap *k; - - putphys(TIMECONFIG, 0); /* it's a processor counter */ - k = kmappa(CLOCK, PTENOCACHE|PTEIO); - ctr = (Ctr*)VA(k); - ctr->lim = (CLOCKFREQ/HZ)<<10; -} - -void -clock(Ureg *ur) -{ - Clock0link *lp; - ulong i; - - USED(ur); - - i = ctr->lim; /* clear interrupt */ - USED(i); - /* is this needed? page 6-43 801-3137-10 suggests so */ - ctr->lim = (CLOCKFREQ/HZ)<<10; - - m->ticks++; - - if(up) - up->pc = ur->pc; - - checkalarms(); - - lock(&clock0lock); - for(lp = clock0link; lp; lp = lp->link) - lp->clock(); - unlock(&clock0lock); - - if(up && up->state == Running) { - if(anyready()) - sched(); - } -} - -Timer* -addclock0link(void (*clockfunc)(void), int) -{ - Clock0link *lp; - - if((lp = malloc(sizeof(Clock0link))) == 0){ - print("addclock0link: too many links\n"); - return nil; - } - ilock(&clock0lock); - lp->clock = clockfunc; - lp->link = clock0link; - clock0link = lp; - iunlock(&clock0lock); - return nil; -} - -uvlong -fastticks(uvlong *hz) -{ - if(hz) - *hz = HZ; - return m->ticks; -} |
