summaryrefslogtreecommitdiff
path: root/os/js/clock.c
diff options
context:
space:
mode:
authorKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-28 12:27:31 +0300
committerKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-28 12:27:31 +0300
commit78ee7d5717807e6ac779293d0d3c78341de6130a (patch)
treea43e3b0f61318ac45e6d907c7cc5bad2c6d7f497 /os/js/clock.c
parentbdaf46cf45bbb59261da245d548a179d95a42768 (diff)
Move existing boards into subdits split per arch
Diffstat (limited to 'os/js/clock.c')
-rw-r--r--os/js/clock.c104
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;
-}