From c0d4498ab8a4e564156f49e5b6633a6335b91fc4 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 25 Apr 2021 17:41:34 +0200 Subject: 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). --- sys/src/9/cycv/dat.h | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'sys/src/9/cycv') diff --git a/sys/src/9/cycv/dat.h b/sys/src/9/cycv/dat.h index 81639681d..1e08c3dab 100644 --- a/sys/src/9/cycv/dat.h +++ b/sys/src/9/cycv/dat.h @@ -116,47 +116,23 @@ struct MMMU struct Mach { - /* known to assembly */ int machno; /* physical id of processor */ uintptr splpc; /* pc of last caller to splhi */ Proc* proc; /* current process */ ulong excregs[3]; ulong cycleshi; - /* end of known to assembly */ + /* end of known offsets to assembly */ - int flushmmu; /* flush current proc mmu state */ - - 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; - - Proc* readied; /* for runproc */ - ulong schedticks; /* next forced context switch */ + MMMU; - ulong delayloop; + PMach; - /* stats */ - int tlbfault; - int tlbpurge; - int pfault; - int cs; - int syscall; - int load; - int intr; int lastintr; - int ilockdepth; - Perf perf; /* performance counters */ - int cpumhz; uvlong cpuhz; /* speed of cpu */ - uvlong cyclefreq; /* Frequency of user readable cycle counter */ - - MMMU; - int stack[1]; + uintptr stack[1]; }; #define NISAOPT 8 -- cgit v1.2.3