diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2021-04-25 17:41:34 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2021-04-25 17:41:34 +0200 |
commit | c0d4498ab8a4e564156f49e5b6633a6335b91fc4 (patch) | |
tree | b35786376285707481ad2c9b5a7fcd636b6a2a3b /sys/src/9/mtx | |
parent | 9f54c2831717bc656df6e5a2fde2bf7be8e29fef (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.h | 46 |
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 |