# HG changeset patch # User Noah Evans # Date 1308718809 0 # Node ID 4207c7bbace3261fcf7e03a663d3649b3128c42e # Parent 76d5b329699ee8f4b2488bc5f84e71f273584a4d daily push: Tue Jun 21 07:00:04 CET 2011 diff -r 76d5b329699e -r 4207c7bbace3 src/9kron/k8/acore.c --- a/src/9kron/k8/acore.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron/k8/acore.c Wed Jun 22 05:00:09 2011 +0000 @@ -136,7 +136,7 @@ n = nil; - pmcupdate(m); + _pmcupdate(m); if(m->proc != nil){ m->proc->nactrap++; m->proc->actime1 = fastticks(nil); @@ -177,7 +177,7 @@ memmove(m->proc->dbgreg, u, sizeof *u); m->icc->note = n; fpuprocsave(m->proc); - pmcupdate(m); + _pmcupdate(m); mfence(); m->icc->fn = nil; ready(m->proc); diff -r 76d5b329699e -r 4207c7bbace3 src/9kron/k8/trap.c --- a/src/9kron/k8/trap.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron/k8/trap.c Wed Jun 22 05:00:09 2011 +0000 @@ -248,6 +248,13 @@ intrtimes[vno][diff]++; } +static void +pmcnop(Mach *) +{ +} + +void (*_pmcupdate)(Mach *m) = pmcnop; + /* go to user space */ void kexit(Ureg*) @@ -271,7 +278,7 @@ mp = m; tos->core = mp->machno; tos->nixtype = mp->nixtype; - pmcupdate(m); + _pmcupdate(m); /* * The process may change its core. * Be sure it has the right cyclefreq. @@ -319,7 +326,7 @@ clockintr = 0; - pmcupdate(m); + _pmcupdate(m); vno = ureg->type; if(ctl = vctl[vno]){ diff -r 76d5b329699e -r 4207c7bbace3 src/9kron/port/devpmc.c --- a/src/9kron/port/devpmc.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron/port/devpmc.c Wed Jun 22 05:00:09 2011 +0000 @@ -111,6 +111,7 @@ int i, j, ncores, nr; Mach *mp; + _pmcupdate = pmcupdate; ncores = 0; nr = pmcnregs(); for(i = 0; i < MACHMAX; i++) { diff -r 76d5b329699e -r 4207c7bbace3 src/9kron/port/pmc.h --- a/src/9kron/port/pmc.h Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron/port/pmc.h Wed Jun 22 05:00:09 2011 +0000 @@ -21,3 +21,4 @@ int pmcsetctr(u32int coreno, u64int v, u32int regno); void pmcupdate(Mach *m); +extern void (*_pmcupdate)(Mach *m); diff -r 76d5b329699e -r 4207c7bbace3 src/9kron2/k8/acore.c --- a/src/9kron2/k8/acore.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron2/k8/acore.c Wed Jun 22 05:00:09 2011 +0000 @@ -136,7 +136,7 @@ n = nil; - pmcupdate(m); + _pmcupdate(m); if(m->proc != nil){ m->proc->nactrap++; m->proc->actime1 = fastticks(nil); @@ -177,7 +177,7 @@ memmove(m->proc->dbgreg, u, sizeof *u); m->icc->note = n; fpuprocsave(m->proc); - pmcupdate(m); + _pmcupdate(m); mfence(); m->icc->fn = nil; ready(m->proc); diff -r 76d5b329699e -r 4207c7bbace3 src/9kron2/k8/trap.c --- a/src/9kron2/k8/trap.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron2/k8/trap.c Wed Jun 22 05:00:09 2011 +0000 @@ -248,6 +248,13 @@ intrtimes[vno][diff]++; } +static void +pmcnop(Mach *) +{ +} + +void (*_pmcupdate)(Mach *m) = pmcnop; + /* go to user space */ void kexit(Ureg*) @@ -271,7 +278,7 @@ mp = m; tos->core = mp->machno; tos->nixtype = mp->nixtype; - pmcupdate(m); + _pmcupdate(m); /* * The process may change its core. * Be sure it has the right cyclefreq. @@ -321,7 +328,7 @@ if(up != nil) up->ntrap++; /* stats only, races ok */ - pmcupdate(m); + _pmcupdate(m); vno = ureg->type; if(ctl = vctl[vno]){ diff -r 76d5b329699e -r 4207c7bbace3 src/9kron2/port/devpmc.c --- a/src/9kron2/port/devpmc.c Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron2/port/devpmc.c Wed Jun 22 05:00:09 2011 +0000 @@ -111,6 +111,7 @@ int i, j, ncores, nr; Mach *mp; + _pmcupdate = pmcupdate; ncores = 0; nr = pmcnregs(); for(i = 0; i < MACHMAX; i++) { diff -r 76d5b329699e -r 4207c7bbace3 src/9kron2/port/pmc.h --- a/src/9kron2/port/pmc.h Sun Jun 12 05:00:09 2011 +0000 +++ b/src/9kron2/port/pmc.h Wed Jun 22 05:00:09 2011 +0000 @@ -21,3 +21,4 @@ int pmcsetctr(u32int coreno, u64int v, u32int regno); void pmcupdate(Mach *m); +extern void (*_pmcupdate)(Mach *m);