summaryrefslogtreecommitdiff
path: root/sys/src/9/mtx
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2021-04-25 17:41:34 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2021-04-25 17:41:34 +0200
commitc0d4498ab8a4e564156f49e5b6633a6335b91fc4 (patch)
treeb35786376285707481ad2c9b5a7fcd636b6a2a3b /sys/src/9/mtx
parent9f54c2831717bc656df6e5a2fde2bf7be8e29fef (diff)
kernel: clean up Mach structure
Remove unused fields and factor common fields into a new PMach struct in port/portdat.h. The fields machno, splpc and proc are not moved to PMach as they are part of the known offsets from assembly (l.s).
Diffstat (limited to 'sys/src/9/mtx')
-rw-r--r--sys/src/9/mtx/dat.h46
1 files changed, 10 insertions, 36 deletions
diff --git a/sys/src/9/mtx/dat.h b/sys/src/9/mtx/dat.h
index 8b74eb439..80ea2565c 100644
--- a/sys/src/9/mtx/dat.h
+++ b/sys/src/9/mtx/dat.h
@@ -123,54 +123,28 @@ struct Mach
{
/* OFFSETS OF THE FOLLOWING KNOWN BY l.s */
int machno; /* physical id of processor */
- ulong splpc; /* pc that called splhi() */
+ uintptr splpc; /* pc that called splhi() */
Proc *proc; /* current process on this processor */
/* ordering from here on irrelevant */
+ PMach;
+
+ uintptr ptabbase; /* start of page table in kernel virtual space */
+ int slotgen; /* next pte (byte offset) when pteg is full */
+ int mmupid; /* next mmu pid to use */
+ int sweepcolor;
+ int trigcolor;
+ Rendez sweepr;
- ulong ticks; /* of the clock since boot time */
- Label sched; /* scheduler wakeup */
- Lock alarmlock; /* access to alarm list */
- void *alarm; /* alarms bound to this clock */
- int inclockintr;
int cputype;
ulong loopconst;
-
- Proc* readied; /* for runproc */
- ulong schedticks; /* next forced context switch */
-
vlong cpuhz;
ulong bushz;
ulong dechz;
ulong tbhz;
- uvlong cyclefreq; /* Frequency of user readable cycle counter */
-
- ulong pcclast;
- uvlong fastclock;
- Perf perf; /* performance counters */
-
- int tlbfault; /* only used by devproc; no access to tlb */
- int tlbpurge; /* ... */
- int pfault;
- int cs;
- int syscall;
- int load;
- int intr;
- int flushmmu; /* make current proc flush it's mmu state */
- int ilockdepth;
-
- ulong ptabbase; /* start of page table in kernel virtual space */
- int slotgen; /* next pte (byte offset) when pteg is full */
- int mmupid; /* next mmu pid to use */
- int sweepcolor;
- int trigcolor;
- Rendez sweepr;
-
- ulong spuriousintr;
- int lastintr;
/* MUST BE LAST */
- int stack[1];
+ uintptr stack[1];
};
struct