remove some unused things in portdat, and wage war on ulong. for now, i've left the ulongs that represent ticks. of note, Fastcall was removed, and so was PTEUSER, which was wrong. also, in dat.h the functions were *actually* sorted, and various versions of splhi() were consolidated. again, why do we need Mpl? i left that in. probablly should have sorted all the functions together, but i got lazy. :-). Reference: /n/patches.lsub.org/patch/decruft Date: Wed Jul 18 18:00:29 CES 2012 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/port/portdat.h Thu Jul 5 11:00:28 2012 +++ /sys/src/nix/port/portdat.h Wed Jul 18 16:22:49 2012 @@ -10,7 +10,6 @@ typedef struct Edf Edf; typedef struct Egrp Egrp; typedef struct Evalue Evalue; -typedef struct Fastcall Fastcall; typedef struct Fgrp Fgrp; typedef struct Image Image; typedef struct Kzio Kzio; @@ -105,20 +104,20 @@ struct Lockstats { - ulong locks; - ulong glare; - ulong inglare; + uvlong locks; + uvlong glare; + uvlong inglare; }; extern Lockstats lockstats; struct QLockstats { - ulong rlock; - ulong rlockq; - ulong wlock; - ulong wlockq; - ulong qlock; - ulong qlockq; + uvlong rlock; + uvlong rlockq; + uvlong wlock; + uvlong wlockq; + uvlong qlock; + uvlong qlockq; }; extern QLockstats qlockstats; @@ -209,7 +208,7 @@ ushort flag; Qid qid; int fid; /* for devmnt */ - ulong iounit; /* chunk size for i/o; 0==default */ + uint iounit; /* chunk size for i/o; 0==default */ Mhead* umh; /* mount point that derived Chan; used in unionread */ Chan* umc; /* channel in union; held for union read */ QLock umqlock; /* serialize unionreads */ @@ -225,7 +224,6 @@ union { void* aux; Qid pgrpid; /* for #p/notepg */ - ulong mid; /* for ns in devproc */ }; Chan* mchan; /* channel to mounted server */ Qid mqid; /* qid of root of mount point */ @@ -284,13 +282,6 @@ Qid qid[1]; }; -enum -{ - NSMAX = 1000, - NSLOG = 7, - NSCACHE = (1<head, color)){ - DBG("kickpager() found %uld free\n", pa->freecount); + DBG("kickpager() found %ud free\n", pa->freecount); goto Done; } } @@ -294,7 +294,7 @@ freepages(pgszi+1, 1); tryalloc(pgszi, color); if(hascolor(pa->head, color)){ - DBG("kickpager() found %uld free\n", pa->freecount); + DBG("kickpager() found %ud free\n", pa->freecount); goto Done; } @@ -306,7 +306,7 @@ freepages(0, 0); tryalloc(pgszi, color); if(pa->freecount > 0){ - DBG("kickpager() found %uld free\n", pa->freecount); + DBG("kickpager() found %ud free\n", pa->freecount); goto Done; } --- /sys/src/nix/port/page.c Thu Apr 12 12:26:28 2012 +++ /sys/src/nix/port/page.c Wed Jul 18 16:37:24 2012 @@ -36,7 +36,7 @@ lock(&pga); for(i = 0; i < m->npgsz; i++) if(m->pgsz[i] != 0) - s = seprint(s, e, "%uld/%d %dK user pages avail\n", + s = seprint(s, e, "%ud/%d %dK user pages avail\n", pga.pgsza[i].freecount, pga.pgsza[i].npages.ref, m->pgsz[i]/KiB); unlock(&pga); --- /sys/src/nix/port/devcons.c Thu Jun 14 09:36:24 2012 +++ /sys/src/nix/port/devcons.c Wed Jul 18 16:37:43 2012 @@ -1039,11 +1039,11 @@ return n; case Qdebug: - s = seprint(tmp, tmp + sizeof tmp, "locks %uld\n", lockstats.locks); - s = seprint(s, tmp + sizeof tmp, "glare %uld\n", lockstats.glare); - s = seprint(s, tmp + sizeof tmp, "inglare %uld\n", lockstats.inglare); - s = seprint(s, tmp + sizeof tmp, "qlock %uld\n", qlockstats.qlock); - seprint(s, tmp + sizeof tmp, "qlockq %uld\n", qlockstats.qlockq); + s = seprint(tmp, tmp + sizeof tmp, "locks %llud\n", lockstats.locks); + s = seprint(s, tmp + sizeof tmp, "glare %llud\n", lockstats.glare); + s = seprint(s, tmp + sizeof tmp, "inglare %llud\n", lockstats.inglare); + s = seprint(s, tmp + sizeof tmp, "qlock %llud\n", qlockstats.qlock); + seprint(s, tmp + sizeof tmp, "qlockq %llud\n", qlockstats.qlockq); return readstr(offset, buf, n, tmp); break; default: --- /sys/src/nix/port/devproc.c Fri Jun 8 11:35:48 2012 +++ /sys/src/nix/port/devproc.c Wed Jul 18 16:39:57 2012 @@ -615,7 +615,7 @@ if(w == 0) w = procqidwidth(c); - n = snprint(s, ns, "%3d %.2s %C %4ud (%.16llux %*lud %.2ux) %5ld %8lld %s\n", + n = snprint(s, ns, "%3d %.2s %C %4ud (%.16llux %*lud %.2ux) %5d %8lld %s\n", fd, &"r w rw"[(c->mode&3)<<1], c->dev->dc, c->devno, --- /sys/src/nix/port/proc.c Thu Jul 12 10:54:05 2012 +++ /sys/src/nix/port/proc.c Wed Jul 18 16:40:31 2012 @@ -1528,7 +1528,7 @@ s = p->psstate; if(s == 0) s = statename[p->state]; - print("%3d:%10s pc %#p dbgpc %#p %8s (%s) ut %ld st %ld bss %#p qpc %#p nl %d nd %lud lpc %#p pri %lud\n", + print("%3d:%10s pc %#p dbgpc %#p %8s (%s) ut %ld st %ld bss %#p qpc %#p nl %d nd %ud lpc %#p pri %ud\n", p->pid, p->text, p->pc, dbgpc(p), s, statename[p->state], p->time[0], p->time[1], bss, p->qpc, p->nlocks, p->delaysched, p->lastlock ? p->lastlock->pc : 0, p->priority); --- /sys/src/nix/k10/dat.h Thu Jun 14 09:36:22 2012 +++ /sys/src/nix/k10/dat.h Wed Jul 18 16:25:23 2012 @@ -40,8 +40,6 @@ /* * machine dependent definitions used by ../port/portdat.h */ - - struct Lock { u32int key; @@ -97,7 +95,7 @@ */ struct PNOTIFY { - void emptiness; + int emptiness; }; struct Confmem @@ -406,6 +404,8 @@ #pragma varargck type "P" uintmem +#pragma varargck type "R" u64int +#pragma varargck type "W" uintptr /* * Horrid. --- /sys/src/nix/k10/mmu.c Mon Jun 4 16:22:53 2012 +++ /sys/src/nix/k10/mmu.c Wed Jul 18 16:49:17 2012 @@ -354,14 +354,12 @@ uint flags; flags = 0; - if(attr & ~(PTEVALID|PTEWRITE|PTERONLY|PTEUSER|PTEUNCACHED)) + if(attr & ~(PTEVALID|PTEWRITE|PTERONLY|PTEUNCACHED)) panic("mmuput: wrong attr bits: %#ux\n", attr); if(attr&PTEVALID) flags |= PteP; if(attr&PTEWRITE) flags |= PteRW; - if(attr&PTEUSER) - flags |= PteU; if(attr&PTEUNCACHED) flags |= PtePCD; return flags; @@ -631,7 +629,7 @@ * vmap() is required to access them. */ void* -vmap(uintptr pa, usize size) +vmap(uintmem pa, usize size) { uintptr va; usize o, sz; --- /sys/src/nix/k10/syscall.c Thu Apr 12 12:26:28 2012 +++ /sys/src/nix/k10/syscall.c Wed Jul 18 16:50:03 2012 @@ -380,7 +380,7 @@ } void* -sysexecregs(uintptr entry, ulong ssize, ulong nargs) +sysexecregs(uintptr entry, usize ssize, uint nargs) { uintptr *sp; Ureg *ureg; --- /sys/src/nix/k10/fns.h Tue Jul 10 14:41:50 2012 +++ /sys/src/nix/k10/fns.h Wed Jul 18 16:50:16 2012 @@ -1,37 +1,42 @@ #include "../port/portfns.h" -void intrac(Proc*); +void aamloop(int); +void acidthandlers(void); void acinit(void); +void acmmuswitch(void); +void acmodeset(int); int acpiinit(void); void acquiesce(void); -void actrapenable(int, char* (*)(Ureg*, void*), void*, char*); void acsysret(void); void actouser(void); -void runacore(void); -void aamloop(int); +void actrapenable(int, char* (*)(Ureg*, void*), void*, char*); Dirtab* addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong)); -void acmmuswitch(void); -void acmodeset(int); void archfmtinstall(void); +vlong archhz(void); void archidle(void); +void archinit(void); int archmmu(void); -int asmfree(uintmem, uintmem, int); +void archreset(void); uvlong asmalloc(uintmem, uintmem, int, int); +int asmfree(uintmem, uintmem, int); void asminit(void); void asmmapinit(uintmem, uintmem, int); -extern void asmmodinit(u32int, u32int, char*); -void noerrorsleft(void); -void archinit(void); -void archreset(void); -vlong archhz(void); -int changerole(int, int); +void asmmodinit(u32int, u32int, char*); void cgaconsputs(char*, int); void cgainit(void); void cgapost(int); +int changerole(int, int); void checkpa(char*, uintmem); #define clearmmucache() /* x86 doesn't have one */ void (*coherence)(void); int corecolor(int); u32int cpuid(u32int, u32int, u32int[4]); +u64int cr0get(void); +void cr0put(u64int); +u64int cr2get(void); +u64int cr3get(void); +void cr3put(u64int); +u64int cr4get(void); +void cr4put(u64int); int dbgprint(char*, ...); int decref(Ref*); void delay(int); @@ -48,6 +53,8 @@ void fpusysprocsetup(Proc*); void fpusysrfork(Ureg*); void fpusysrforkchild(Proc*, Proc*); +void gdtget(void*); +void gdtput(int, u64int, u16int); Mach* getac(Proc*, int); char* getconf(char*); void halt(void); @@ -56,66 +63,69 @@ int i8042auxcmds(uchar*, int); void i8042auxenable(void (*)(int, int)); void i8042reset(void); -Uart* i8250console(char*); void* i8250alloc(int, int, int); +Uart* i8250console(char*); vlong i8254hz(u32int[2][4]); void idlehands(void); -int isbooting(Mach *mp); -void acidthandlers(void); void idthandlers(void); +void idtput(int, u64int); int inb(int); int incref(Ref*); +ulong inl(int); void insb(int, void*, int); ushort ins(int); -void inss(int, void*, int); -ulong inl(int); void insl(int, void*, int); +void inss(int, void*, int); +void intrac(Proc*); int intrdisable(void*); void* intrenable(int, void (*)(Ureg*, void*), void*, int, char*); void invlpg(uintptr); +int ioalloc(int, int, int, char*); void iofree(int); void ioinit(void); -int iounused(int, int); -int ioalloc(int, int, int, char*); int ioreserve(int, int, int, char*); +int iounused(int, int); int iprint(char*, ...); int isaconfig(char*, int, ISAConf*); +int isbooting(Mach *mp); +int islo(void); void kbdenable(void); void kbdinit(void); void kexit(Ureg*); #define kmapinval() void lfence(void); void links(void); -void machinit(void); void mach0init(void); +void machinit(void); void mapraminit(uvlong, uvlong); void mapupainit(uvlong, ulong); void meminit(void); void mfence(void); void mmuflushtlb(u64int); void mmuinit(void); -uintptr mmukmap(uintptr, uintptr, usize); int mmukmapsync(uvlong); +uintptr mmukmap(uintptr, uintptr, usize); uintmem mmuphysaddr(uintptr); int mmuwalk(PTE*, uintptr, int, PTE**, PTE (*)(usize)); int multiboot(u32int, u32int, int); void ndnr(void); +void noerrorsleft(void); uchar nvramread(int); void nvramwrite(int, uchar); void optionsinit(char*); void outb(int, int); +void outl(int, ulong); void outsb(int, void*, int); void outs(int, ushort); -void outss(int, void*, int); -void outl(int, ulong); void outsl(int, void*, int); +void outss(int, void*, int); int pcicap(Pcidev*, int); -int pcicfgr8(Pcidev*, int); int pcicfgr16(Pcidev*, int); int pcicfgr32(Pcidev*, int); -void pcicfgw8(Pcidev*, int, int); +int pcicfgr8(Pcidev*, int); void pcicfgw16(Pcidev*, int, int); void pcicfgw32(Pcidev*, int, int); +void pcicfgw8(Pcidev*, int, int); void pciclrbme(Pcidev*); void pciclrmwi(Pcidev*); int pcigetpms(Pcidev*); @@ -129,55 +139,36 @@ int pickcore(int, int); void printcpufreq(void); void putac(Mach*); +u64int rdmsr(u32int); +u64int rdtsc(void); void rolestable(Mach *mp); +void runacore(void); void runapcore(int); int screenprint(char*, ...); /* debugging */ void sfence(void); void spldone(void); -u64int splhi(void); -u64int spllo(void); -void splx(u64int); -void splxpc(u64int); +Mpl splhi(void); +Mpl spllo(void); +void splx(Mpl); +void splxpc(Mpl); void stopac(void); void syncclock(void); void syscall(int scallnr, Ureg* ureg); -void* sysexecregs(uintptr, ulong, ulong); +void* sysexecregs(uintptr, usize, uint); uintptr sysexecstack(uintptr, int); void sysprocsetup(Proc*); void tcquiesce(void); -void tssrsp0(u64int); +void trap(Ureg*); void trapenable(int, void (*)(Ureg*, void*), void*, char*); void trapinit(void); -void trap(Ureg*); +void trput(u64int); +void tssrsp0(u64int); void umeminit(void); -void upafree(uintptr, usize); -uintptr upamalloc(uintptr, usize, usize); -void upareserve(uintptr, usize); int userureg(Ureg*); -void* vmap(uintptr, usize); +void* vmap(uintmem, usize); void vsvminit(int, int); void vunmap(void*, usize); - -extern u64int cr0get(void); -extern void cr0put(u64int); -extern u64int cr2get(void); -extern u64int cr3get(void); -extern void cr3put(u64int); -extern u64int cr4get(void); -extern void cr4put(u64int); -extern void gdtget(void*); -extern void gdtput(int, u64int, u16int); -extern void idtput(int, u64int); -extern u64int rdmsr(u32int); -extern u64int rdtsc(void); -extern void trput(u64int); -extern void wrmsr(u32int, u64int); - -extern int islo(void); -extern void spldone(void); -extern Mpl splhi(void); -extern Mpl spllo(void); -extern void splx(Mpl); +void wrmsr(u32int, u64int); int cas32(void*, u32int, u32int); int cas64(void*, u64int, u64int); @@ -199,8 +190,6 @@ #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1])) -#define dcflush(a, b) - #define PTR2UINT(p) ((uintptr)(p)) #define UINT2PTR(i) ((void*)(i)) @@ -212,47 +201,45 @@ /* * apic.c */ -extern int apiceoi(int); -extern void apicipi(int); -extern void apicinit(int, uintmem, int); -extern int apicisr(int); -extern int apiconline(void); -extern void apicpri(int); -extern void apicsipi(int, uintmem); -void apicnipi(int apicno); - -extern void ioapicinit(int, int, uintmem); -extern void ioapicintrinit(int, int, int, int, u32int); -extern void ioapiconline(void); +int apiceoi(int); +void apicipi(int); +void apicinit(int, uintmem, int); +int apicisr(int); +int apiconline(void); +void apicpri(int); +void apicsipi(int, uintmem); +void apicnipi(int); + +void ioapicinit(int, int, uintmem); +void ioapicintrinit(int, int, int, int, u32int); +void ioapiconline(void); /* * archk10.c */ -extern void millidelay(int); -extern void k10waitwhile(void*, uintptr); +void millidelay(int); +void k10waitwhile(void*, uintptr); /* * i8259.c */ -extern int i8259init(int); -extern int i8259irqdisable(int); -extern int i8259irqenable(int); -extern int i8259isr(int); +int i8259init(int); +int i8259isr(int); /* * mp.c */ -extern void mpsinit(int); -extern int mpacpi(int); +void mpsinit(int); +int mpacpi(int); /* * sipi.c */ -extern void sipiall(void); -extern int sipicore(int); +void sipiall(void); +int sipicore(int); /* * debug */ -void HERE(void); -void DONE(void); +void HERE(void); +void DONE(void);